有人可以告诉我为什么我得到4分吗?应该打印3,因为If部分中满足该代码。
a = 15
if a&5 == 0:
print('3')
elif a% 5 == 0:
print('4')
else:
print('5')
答案 0 :(得分:4)
&是按位AND,其工作方式如下:
15&5
1111
& 0101
------
0101 != 0
答案 1 :(得分:3)
您正在比较15位和5位,从而得出它们的共同点。
1111 & 101 => 101
所以结果是5,而不是0。
答案 2 :(得分:3)
“&” 运算符是 AND AND ,因此在您的代码中,它类似于:
EL functions are not supported.
那是
1111 & 0101 = 0101
因此第一个条件不能为真,因为15 and 5 = 5
的提醒是4
,所以输出中将得到15/5
。
答案 3 :(得分:1)
如果要检查LSB,则应对1进行“与”运算,然后检查结果是否为1,然后LSB为0,否则LSB为1