最近エクセルでビット演算をしたので備忘録です
Ah | 8h = Ah(1010(2進数))
①Ahを2進数にする
=hex2bin(A) ⇒ 1010(2進数)
②8hを2進数にする
=hex2bin(8) ⇒ 1000(2進数)
③1bitずつ取り出してORを取る
まず4bit目をORで計算する
=HEX2BIN(IF( OR( VALUE(MID("1010", 1, 1)), VALUE(MID("1000", 1, 1))), 1, 0) * 2^3)
結果:1000(2進数)
同じようにして3bit目をORで計算する
=HEX2BIN(IF( OR( VALUE(MID("1010", 2, 1)), VALUE(MID("1000", 2, 1))), 1, 0) * 2^2)
結果:0000(2進数)
2bit目
=HEX2BIN(IF( OR( VALUE(MID("1010", 3, 1)), VALUE(MID("1000", 3, 1))), 1, 0) * 2^1)
結果:0010(2進数)
1bit目
=HEX2BIN(IF( OR( VALUE(MID("1010", 4, 1)), VALUE(MID("1000", 4, 1))), 1, 0) * 2^0)
結果:0000(2進数)
④4bit~1bitの計算結果を足す
1000 + 0000 + 0010 + 0000 = 1010(2進数)
面倒だが上記で計算できる。
セルを分けて計算して並べると結構な桁数を扱える1セルでは無理だけどね。。。
[0回]
PR