在python中是什么意思

在python中是什么意思,第1张

在python中是什么意思 回答

&
符号是按位与运算符。与1一起使用时,基本上会屏蔽该值以提取最低位,换句话说,它将告诉您该值是偶数还是奇数

有关Python
&
运算符的更多信息

有关更多信息,请参见:http :
//wiki.python.org/moin/BitwiseOperators

为什么检查奇数与偶数比较有效

编辑:添加此部分,因为此答案越来越喜欢

首先,将值与1进行AND运算的原因是,该值是奇数还是偶数可能并不明显。

数字的二进制表示形式实质上是从最右边的数字开始以1,2,4,4,8开头的向左移动的2的幂的一系列YES或NO的和。

只有一种方法可以用这种方式表示任何数字。例如,数字13(以10为基数)可以二进制形式写为“ 1101”(或十六进制形式为0xD,但是在该点旁边)。看这里:

    1   1   0   1    x   x   x   x    8   4   2   1    =   =   =   =    8 + 4 + 0 + 1  =  13

请注意,除了最右边的二进制数字外,所有其他

1
数字都将加和一个偶数(即2的倍数)。因此,获得奇数最终总和的唯一方法是从最右边的数字中添加该奇数1。因此,如果我们好奇数字是奇数还是偶数,可以查看其二进制表示形式,并忽略除最右边的数字以外的所有内容。

为此,我们使用按位AND运算符。该值

1
以二进制表示为
1

    0   0   0   1    x   x   x   x    8   4   2   1    =   =   =   =    0 + 0 + 0 + 1  =  1

如果设置了该值的最右边位,则将其与

1
该值进行“与”运算,
1
如果未设置,则将导致该值的最右位
0

而且由于

0
在大多数语言中通常被认为是“ false”,而非零值则被认为是“ true”,因此我们可以简单地说一下:

if (value & 1): do_something_with_odd_value()...


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5643797.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存