ビット演算子 AND OR XOR
Bnjour
C言語でも組み込み系に欠かせないのがこのビット演算子です。
一通り勉強はしたんですが、こないだの勉強会でやはりあまり覚えてなかったので備忘録です。
●AND
両方のビットが『1』のときだけ『1』にします。
1 1 → 1
1 0 → 0
0 1 → 0
0 0 → 0
例
a = 0011;
a &=0101;
この場合aには「0001」が代入されることになります。
●OR
片方のビットのどちらかが「1」のとき「1」にします。
1 1 → 1
1 0 → 1
0 1 → 1
0 0 → 0
例
a = 0011;
a |= 0101;
この場合aには「0111」が代入されます。
●XOR
ビットの値が異なる場合だけ「1」にします。
1 1 → 0
1 0 → 1
0 1 → 1
0 0 → 0
例
a = 0011 ;
a ^= 0101;
この場合aには「0110」が代入されます。
XORがいまいちややこしい。。。
まぁ慣れですかね?
少しずつ一歩一歩