余談ですが、排他的論理和のマスクはビット反転以外にも簡単な
暗号化にも使えます。
では4コマの続きで、特定のビットを取り出すにはAND演算
をします。
取り出したいビットだけ1にすれば、そのビットだけ変化します。
(あとのビットは全て0にします)
1101 0011 3ビット目を取り出す。
0010 0000 をANDでマスクする。
0000 0000 3ビット目の0を取り出せる。
ここで3ビット目を1にしてやってみても
1111 0011 3ビット目を取り出す。
0010 0000 をANDでマスクする。
0010 0000 3ビット目の1を取り出せます。
次にビットを全て反転するには排他的論理和(EOR、XOR)演算をします。
これは、どちらかが1の場合だけ1になるものなので
(0 EOR 1= 1,1 EOR 0= 1,1 EOR 1= 0,0 EOR 0= 0)
まさに反転に向いていますね。
1101 0011 全ビットを反転する。
1111 1111 を排他的論理和でマスクする。
0010 1100 全ビットが反転します。(これに1を足せば2の補数となります)
仮に下位4ビット目だけ反転したいのなら
1101 0011 下位ビットを反転する。
0000 1111 を排他的論理和でマスクする。
1101 1100 下位ビットが反転します。
いろんなパワー に繋がるので、ちょっとだけクリック宜しくお願いします。
最後に、いつも拝見・応援してくださる皆様どうもありがとうございま す。
以下のとおりになります。