その昔,なんだったか忘れたけどソースを見たときに,
struct{
unsigned long bit0 : 1;
unsigned long bit1 : 1;
unsigned long bit2 : 1;
// 中略
unsigned long bit31 : 1;
}bits1;
bits2.bit28 = 0;
bits1.bit31 = 1;
ってな具合なソースがあってよく分からなかったんだけど,ビットフィールドという代物なんですね.こんな風に書くと、32 ビットを 1 ビットずつ扱えるということのようです.使い方によっては便利そうですね.