09/03/02 04:13:56 Xl+iv3T+
>>862
他の人も言ってるようにビットフィールドだね。
~ not。フラグを反転しておきたいとき。
| or。フラグを立てたい時。
& and。フラグが立っているか調べたい時。
^ xor。特定のフラグを反転したいとき。
特定のフラグを寝かせたいとき。ビット反転したフラグをandする。
flags &= ~FLAG1;
ある一連の桁から数値を取り出したいとき。例えば右からn桁目~n+4桁を取り出す場合。
あらかじめフラグを用意しておいてandし、シフトする。
int value = (flag & ((15) << n)) >> n;
逆に特定の桁へ数値を代入したいとき。一度寝かせてからシフトした値をorする。
flags = (flags & ~(15 << n)) | (value << n);