我有两个号码:
a =" 00000108"
b =" FFFFF9FF"
我想计算两个字符串中十六进制值的按位AND。我想要的结果是一个字符串: " 00000108"
以下是我的想法:
def fixedAND(a, b):
'''
The a and b are both strings
'''
return ''.join([hex(ord(i) & ord(j))[2:] for i,j in zip(a.decode('hex'), b.decode('hex'))])
此函数返回" 0018"。它抑制两个十六进制数字对中的每一个的前导零。
答案 0 :(得分:1)
最好将字符串转换为整数,执行AND,然后以您选择的格式打印结果。例如
>>> a = "00000108"
>>> b = "FFFFF9FF"
>>> format(int(a, 16) & int(b, 16), '08x')
'00000108'