您的位置:首页 > 编程语言 > Python开发

关于十进制数取异或运算原理(Python实现)

2018-01-17 15:10 295 查看
案例一
a=10
b=15
c=a^b
d=bin(c).count("1")
print(c)
print(d)


运行结果为:c=5,d=2,这是怎么计算的呢?首先,a=10,转换为二进制是0101,b=15,转换为二进制是1111,取异或为0101,它的十进制是5,所以c=5,其中异或结果“1”的位数为2,也就是不相同的位数是2,即:
10^15=5

案例二
i=0b1101
j=0b0110
k=i^j
l=bin(k).count("1")
print(k)
print(l)


运行结果为:k=11,l=2,这是怎么计算的呢?首先,i=0b1101,j=0b0110,(0b表示二进制)取异或为1011,它的十进制是11,所以k=11,其中异或结果“1”的位数为3,也就是不相同的位数是3,即:
0b1101^0b0110=11
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息