union LowLevelNumber
{
unsigned int n;
struct
{
unsigned int lowByte : 8;
unsigned int highByte : 8;
unsigned int upperLowByte : 8;
unsigned int upperHighByte : 8;
} bytes;
struct
{
unsigned int lowWord : 16;
unsigned int highWord : 16;
} words;
};
この結合により、符号なし整数バイトまたはワード単位でアクセスできます。ただし、コードはかなり醜いように見えます。
var.words.lowWord = 0x66;
このようなコードを書くことができる方法はありますか?
var.lowWord = 0x66;
更新:
これは、実際には上記の例のように短くて美しいコードを書くことです。ユニオンソリューション自体は機能します。lowWordまたはlowByteにアクセスするたびに.wordsまたは.bytesを書き込みたくありません。