掺水甜豆浆 发表于 2020-4-27 17:41:49

python怎么实现两个十六进制数的异或操作

比如: 十六进制数 1和   F
二进制表示就是0001和1111
异或结果应该是1110 十六进制表示是:E
我要怎么写代码计算呢:“1异或F=E”

掺水甜豆浆 发表于 2020-4-27 17:50:51

zltzlt 发表于 2020-4-27 17:46
1 和 F 都是字符串吗?

是的 应该是B='1',C='F'

zltzlt 发表于 2020-4-27 17:43:56

>>> hex(0x1 ^ 0xF)
'0xe'

掺水甜豆浆 发表于 2020-4-27 17:45:44

zltzlt 发表于 2020-4-27 17:43


我是从数组中读出来的,比如B=1,C=F
这样怎么运算呢?

zltzlt 发表于 2020-4-27 17:46:26

掺水甜豆浆 发表于 2020-4-27 17:45
我是从数组中读出来的,比如B=1,C=F
这样怎么运算呢?

1 和 F 都是字符串吗?

掺水甜豆浆 发表于 2020-4-27 18:03:43

怎么没人呀{:5_100:}

txxcat 发表于 2020-4-27 18:20:35

>>> a=0x1
>>> b=0xF
>>> c=a^b
>>> hex(c)
'0xe'

zltzlt 发表于 2020-4-27 18:24:45

掺水甜豆浆 发表于 2020-4-27 17:50
是的 应该是B='1',C='F'

print(hex(int(B, base=16) ^ int(C, base=16)).upper())

掺水甜豆浆 发表于 2020-4-27 18:39:12

zltzlt 发表于 2020-4-27 18:24


骚瑞 你这个彻底解决了我的问题 我刚以为没人回复了 就把最佳答案给出去了{:5_100:}
页: [1]
查看完整版本: python怎么实现两个十六进制数的异或操作