ビットフィールド

その昔,なんだったか忘れたけどソースを見たときに,

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 ビットずつ扱えるということのようです.使い方によっては便利そうですね.