• 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


  • 否定:NOT
 Aの全ての桁を反転
 ビット反転の桁数を指定するには(NOT A)AND(2^N-1)で、N桁の補数「(2^N-1)-A」を得られる
 (2^N-1)は全桁が1であり、AND(2^N-1)でその桁のみを取り出せる

A NOT A
0 1
1 0

  • 論理積:AND
 A=B=1でのみ、1となる
 Bで1にした桁のみをAから取り出し、他の桁には0を代入
  • 論理和:OR
 A=B=0でのみ、0となる
 Bで0にした桁のみをAから取り出し、他の桁には1を代入
  • 排他的論理和:XOR=EOR
 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

  • 否定論理積:NAND
 A=B=1でのみ、0となる
 A=Bを反転し、他の桁には1を代入
  • 否定論理和:NOR
 A=B=0でのみ、1となる
 A=Bを反転し、他の桁には0を代入
  • 否定排他的論理和(同値):XNOR=EQ
 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:ビットの右シフト



タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2013年04月01日 02:01