C言語なら俺に聞け(入門篇) Part 27at TECH
C言語なら俺に聞け(入門篇) Part 27 - 暇つぶし2ch298:デフォルトの名無しさん
08/05/04 11:10:44
>>295
unsigned とかやってるとサイズが4バイトになるから

union bits{
 char ch;
 struct{
  unsigned char a:1, b:1, c:1, d:1, e:1, f:1, g:1, h:1;
 };
} bits;

にしないとマズいかもしれない。
ただ、ビットフィールドを含む構造体のサイズは処理系依存なので難しい所だが。

さらに言えばビットフィールドのビットがどちら側から埋められるかは処理系依存だから、

union bits{
 char ch;
 struct{
#ifdef BITFIELD_LITTLE_ENDIAN
  unsigned char h:1, g:1, f:1, e:1, d:1, c:1, b:1, a:1;
#else
  unsigned char a:1, b:1, c:1, d:1, e:1, f:1, g:1, h:1;
#endif
 };
} bits;

として処理系ごとに切り替えられるようにするのが良い。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch