2019年11月5日 / 1,039次阅读 / Last Modified 2020年11月23日
算法
我们在python中,判断一个数是奇数还是偶数,通常的做法就是让这个数做模2运算(用%符号),检查结果是否为0,是0就是偶数,不是0就是奇数。这个方法是没错的,代码如下:
>>> 123 % 2
1
>>> 124 % 2
0
>>> -123 % 2
1
>>> -124 % 2
0
除了使用模2运算来判断数据的奇偶性,还可以使用python的位运算。位运算的一大优点,就是效率高,特别是在脚本语言中!
使用位运算判断数值的奇偶性,只需要对这个数进行 & 1(与 1)操作,1的二进制码在计算机中是0b00000001(如果使用bin函数,你得到的二进制字符串是0b1),只有最后一个bit是1,与数据进行与操作,如果得到的结果是1,就是奇数,得到的结果是0,就是偶数。代码如下:
>>> 123 & 1
1
>>> 124 & 1
0
>>> -123 & 1
1
>>> -124 & 1
0
推荐使用python的位运算来做数值的奇偶行判断,除了代码执行效率高,代码在阅读的时候,也显得更专业更高大上!
-- EOF --
本文链接:https://www.pynote.net/archives/1454
《用位运算来判断数值的奇偶性》有1条留言
前一篇:python的位运算
后一篇:python独有的交换算法
©Copyright 麦新杰 Since 2019 Python笔记
实测结果,两种判断数值奇偶性的方法,性能差不多:
[ ]