python中布尔运算和bin内置函数中的问题
我在理解“bin”中的内置函数时遇到一些问题。请任何人都能解释一下,为什么我面临这个问题。我是python的初学者。 ,但我没有找到任何相关的答案python中布尔运算和bin内置函数中的问题,python,Python,我在理解“bin”中的内置函数时遇到一些问题。请任何人都能解释一下,为什么我面临这个问题。我是python的初学者。 ,但我没有找到任何相关的答案 input = 12 mask = 13 expected_out =100 binIn = bin(input) binMask = bin(mask) binExpected = bin(expected_out) print binIn ,binMask ,binMask # if (binIn & binMask == bin
input = 12
mask = 13
expected_out =100
binIn = bin(input)
binMask = bin(mask)
binExpected = bin(expected_out)
print binIn ,binMask ,binMask #
if (binIn & binMask == binExpected): i want to do bitwise binIn & binMask and compare with binExpected
print "here1"
else:
print "here2"
TypeError:&:'str'和'str'的操作数类型不受支持
提前感谢Python
bin
函数将数字转换为二进制表示字符串:
>>> type(bin(1))
<type 'str'>
Python
bin
函数将数字转换为二进制表示字符串:
>>> type(bin(1))
<type 'str'>
您应该按位和整数,然后在结果上调用bin,并将该结果与bin(预期输出)
考虑到您可以将结果与int进行比较,这一切似乎都是多余的:
inp = 12
mask = 13
expected_out = 12
if inp & mask == expected_out:
print("Here")
else:
print("Here2")
您应该按位和整数,然后在结果上调用bin,并将该结果与bin(预期输出)
考虑到您可以将结果与int进行比较,这一切似乎都是多余的:
inp = 12
mask = 13
expected_out = 12
if inp & mask == expected_out:
print("Here")
else:
print("Here2")
bin
的结果将是字符串类型。您正在尝试使用两个字符串执行按位AND。字符串的bin(输入)将返回字符串?是的,bin返回str,为什么要使用bin?@Sana您试图实现什么逻辑?(例如“查看任一选项是否等于预期值”)。我想比较2个二进制数。bin
的结果将是字符串类型。您正在尝试使用两个字符串执行按位AND。字符串的bin(输入)将返回字符串?是的,bin返回str,为什么要使用bin?@Sana您试图实现什么逻辑?(例如“查看任一选项是否等于预期值”)。我想比较两个二进制数。