ビット演算子

C

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

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

参考例
a = 170, b = 245

変数名    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

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

変数名    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

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

変数名    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

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

変数名    10進数    2進数
a         170		1	0	1	0	1	0	1	0
a~        160		0	1	0	1	0	1	0	1

コメントを残す

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