ユニオンの仕組みが理解できませんでした..
#include <stdio.h>
#include <stdlib.h>
int main()
{
union {
int a:4;
char b[4];
}abc;
abc.a = 0xF;
printf(" %d, %d, %d, %d, %d, %d\n", sizeof(abc), abc.a, abc.b[0], abc.b[1], abc.b[2], abc.b[3]);
return 0;
}
上記のプログラムでは.
私が作ったint a : 4;
ので、4ビットを取るべきです。
今私は保存し ていますので、出力が次のように来ない理由a = 0xF; //i.e a= 1111(Binary form)
にアクセスしているときにb[0 0r 1 or 2 or 3]
1, 1, 1, 1