2017/09/24

Python XOR 排他的論理和

みんなのPython第4版を読んでると、、

5^(4-4)+9 == 10:

という記載があって、「^」の意味がわからなかった。(上の結果は「12」なのでfalse)
累乗かと思いきや、Pythonでは「**」が累乗なので?となった。
調べたら、排他的論理和を意味するらしい。

5^9の結果は12

意味がワカラン。

http://itpro.nikkeibp.co.jp/members/ITPro/ITBASIC/20020731/1/?rt=nocnt

ここで確認したら、下記のようになるのが排他的論理和ということが解った。
1 xor 1 = 0
1 xor 0 = 1
0 xor 1 = 1
0 xor 0 = 0

2進数での5と9は、
5 :  0101
9 :  1001
----------
12 : 1100
ということだったのね。数学の勉強をおろそかにした結果、後で苦労するという。。
まあ、理解できてよかった!

0 件のコメント: