ビットフラグの基本的な操作
ビットフラグの基本的な操作についてまとめました。
各種機能をビットフラグで管理する処理では、次の3パターンを抑えればOKです。
特定のビット有無を確認する
確認したいビットとANDを取ります
if (bitflag & 0x10){
// bitflagに0x10のビットが立っている
}
特定のビットを立てる
立てたいビットとORを取ります
// bitflagに0x10を立てる
bitflag |= 0x10;
特定のビットを落とす
落としたいビットを反転させてANDを取ります
// bitflagの0x10を落とす
bitflag &= ~0x10;
※落としたいビットの有無を確認してxorを取る方法もありますが、1行で済ませる方がスッキリしますね↓
// bitflagの0x10を落とす(xor版)
if (bitflag & 0x10){
bitflag ^= 0x10;
}