C

ビット演算子

データをビット単位で、比較、操作する際に使うのがビット演算子です。

■論理積(and) &
各ビットを比べて、「両方とも1なら1、そうでなければ0」を返す演算

参考例
a = 170, b = 245
[c]
変数名 10進数 2進数
a 170 1 0 1 0 1 0 1 0
b 245 1 1 1 1 0 1 0 1
a&b 160 1 0 1 0 0 0 0 0
[/c]

■論理和(or) |
「片方が1なら1、そうでなければ0」を返す演算」(これはどちらも1の場合は1となる)

[c]
変数名 10進数 2進数
a 170 1 0 1 0 1 0 1 0
b 245 1 1 1 1 0 1 0 1
a|b 160 1 1 1 1 1 1 1 1
[/c]

■排他的論理和(xor) ˆ
「片方が1で、もう片方が0なら1、そうでなければ0」を返す演算」

[c]
変数名 10進数 2進数
a 170 1 0 1 0 1 0 1 0
b 245 1 1 1 1 0 1 0 1
aˆb 160 1 1 1 1 1 1 1 1
[/c]

■1の補数表現(not) ~
「各ビットを反転させたもの」

[c]
変数名 10進数 2進数
a 170 1 0 1 0 1 0 1 0
a~ 160 0 1 0 1 0 1 0 1
[/c]

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です