Du könntest dir auch eine struct definieren, in der du die beiden Teile (8bit und 4bit) speicherst. Dann schiebst du eine temporäre Kopie der 12-Bit-Variable 4 Bit nach rechts, weist das Ergebnis dem 8bit-teil der struct zu. Anschließend schiebst du die 12bit-Variable 8bit nach links und weist diesen Teil dem 4bit-Teil der struct zu.