- 1 bit = OFF(0)or ON(1)= 2
(ビットの10進法,16進法への換算表)
1 bit = 2^1 =(2^1) = 2 = 2
2 bit = 2^2 =(2^1)^2 = 2× 2 = 4
4 bit = 2^4 =(2^2)^2 = 4× 4 = 16(-- -- -- -F)
8 bit = 2^8 =(2^4)^2 = 16× 16 = 256(-- -- -- FF)
16 bit = 2^16 =(2^8)^2 = 256× 256 = 65536(-- -- FF FF)
32 bit = 2^32 =(2^16)^2 = 65536×65536 = 4294967296(FF FF FF FF)
- 1 byte(octet)= 8 bit = 2^8 = 256
(2進数:00 00 00 00 - 11 11 11 11,8進数:0 - 377,10進数:0 - 255,16進数:00 - FF)
(32ビットは8ビットの4重積)
32 bit = 2^32
=(2^16)^2
= 2^16×2^16
=((2^8)^2)×((2^8)^2)
={(2^8)×(2^8)}×{(2^8)×(2^8)}
=(2^8)×(2^8)×(2^8)×(2^8)
= 8 bit × 8 bit × 8 bit × 8 bit
- 32 ARGB = 8 A × 8 R × 8 G × 8 B = FF FF FF FF
Aの全ての桁を反転
ビット反転の桁数を指定するには(NOT A)AND(2^N-1)で、N桁の補数「(2^N-1)-A」を得られる
(2^N-1)は全桁が1であり、AND(2^N-1)でその桁のみを取り出せる
A=B=1でのみ、1となる
Bで1にした桁のみをAから取り出し、他の桁には0を代入
A=B=0でのみ、0となる
Bで0にした桁のみをAから取り出し、他の桁には1を代入
A=Bで、0となる
Bで0にした桁をAから取り出し、Bで1にした桁を反転
A |
B |
A AND B |
|
A |
B |
A OR B |
|
A |
B |
A XOR B |
0 |
0 |
0 |
|
0 |
0 |
0 |
|
0 |
0 |
0 |
1 |
0 |
0 |
|
1 |
0 |
1 |
|
1 |
0 |
1 |
0 |
1 |
0 |
|
0 |
1 |
1 |
|
0 |
1 |
1 |
1 |
1 |
1 |
|
1 |
1 |
1 |
|
1 |
1 |
0 |
A=B=1でのみ、0となる
A=Bを反転し、他の桁には1を代入
A=B=0でのみ、1となる
A=Bを反転し、他の桁には0を代入
A=Bで、1となる
Bで1にした桁をAから取り出し、Bで0にした桁を反転
A |
B |
A NAND B |
|
A |
B |
A NOR B |
|
A |
B |
A XNOR B |
0 |
0 |
1 |
|
0 |
0 |
1 |
|
0 |
0 |
1 |
1 |
0 |
1 |
|
1 |
0 |
0 |
|
1 |
0 |
0 |
0 |
1 |
1 |
|
0 |
1 |
0 |
|
0 |
1 |
0 |
1 |
1 |
0 |
|
1 |
1 |
0 |
|
1 |
1 |
1 |
NOTとANDとORのみで全ての論理演算が可能
NOT(A AND B)=(NOT A)OR(NOT B)
NOT(A OR B)=(NOT A)AND(NOT B)
(A OR B)AND C =(A AND C)OR(B AND C)
A AND(B OR C)=(A AND B)OR(A AND C)
(A OR B)AND(C AND D)=(A AND C)OR(A AND D)OR(B AND C)OR(B AND D)
XORでAとBの交換が可能
① A:= A XOR B
② B:= A XOR B
③ A:= A XOR B
NANDとNORは単独で全ての論理演算が可能
①A NAND B = NOT(A AND B)
NOT A = A NAND A ←同値反転を利用
A AND B = NOT(A NAND B)=(A NAND B)NAND(A NAND B)
A OR B =(NOT A)NAND(NOT B)=(A NAND A)NAND(B NAND B)
②A NOR B = NOT(A OR B)
NOT A = A NOR A ←同値反転を利用
A OR B = NOT(A NOR B)=(A NOR B)NOR(A NOR B)
A AND B=(NOT A)NOR(NOT B)=(A NOR A)NOR(B NOR B)
Excel 2013では、エンジニアリング関数で、下記のビット演算が実装されている。
10進数はいったん2進数に変換されて、ビット演算された後に、2進数から10進数へ再変換されて返される。
- BITAND:ビットの論理積
- BITOR:ビットの論理和
- BITXOR:ビットの排他的論理和
- BITLSHIFT:ビットの左シフト
- BITRSHIFT:ビットの右シフト
最終更新:2013年04月01日 02:01