python如何判定2进制中某一位是1

 时间:2024-10-12 16:22:21

程序设计时有时会涉及到位操作,比如在通信速率较低的串口通信中,我们经常使用某一个位作为状态标记,这样我们就必须能够判断这个位是否为1。python和C语言类似,也具有这个功能。

工具/原料

python 3.5

python 的位运算

1、要判断二进制数某一位是否为1,那么需要了解python常用的位运算。右移运算>>:将数由高位向低位移动,高位补0,低位移除,由于高位的0不影响数值大小所以实际显示是省略的。比如讲0b10110001右移一位后变为0b1011000

python如何判定2进制中某一位是1

2、左移运算<<:这个操作符的形式和C语言类似,但是效果是有区别的,它是低位加0,但高位保留,也就是数变大了。比如0b01100001左移2位,运算为:0b01100001 << 2,结果为0b110000100,后面添了两个0

python如何判定2进制中某一位是1

3、移位运算还可以加入变量做参数

python如何判定2进制中某一位是1
python如何判定2进制中某一位是1

4、位与运算:这个和C语言形式也是一样的,效果也一致。

python如何判定2进制中某一位是1

二进制数位状态的判断

1、有了位运算的基础,就可以开始程序编写了。基本思路就是:用数字1向左移动,需要判断哪个位则移动到哪里,然后和要判断的数进行与运算,结果位0则表示该位为0,否则为1 。下面代码的功能是要求用户输入要判断的数a,然后输入要判断的位的位置,最低位为1,从右往左位置变大。a = int(input("a = "))b = int(input("输入需要判断第n位:"))if a & (1 << (b - 1)) > 0: print("数字{}的第{}位为1!".format(a, b))else: print("数字{}的第{}位不为1!".format(a, b))

python如何判定2进制中某一位是1

2、保存代码。

python如何判定2进制中某一位是1
python如何判定2进制中某一位是1

3、运行脚本,用a=33,b=2进行测试,结果判断不为1,用bin(33)显示出33的二进制形式,可以看到第2位确实不为1(从右往左)。

python如何判定2进制中某一位是1

4、判断a=33是的第1位,结果显示为1,判断正确。

python如何判定2进制中某一位是1
python如何判定2进制中某一位是1

5、增加一个a = 158, b = 4,判断为1,实际也是如此。

python如何判定2进制中某一位是1
  • Win10系统更新到一半突然暂停或取消怎么办
  • win10解析运行新任务的详细代码
  • mysql 怎么复制一条数据并插入
  • Android手机SD卡分区完整教程
  • 电脑怎么在bios开启虚拟化?
  • 热门搜索
    语文天地手抄报 数学乐园手抄报内容 关爱环卫工人手抄报 爱护环境手抄报图片 关于对联的手抄报 爱祖国手抄报资料 感恩的手抄报内容 关于梦想的手抄报图片 关于团结的手抄报 关于感恩的心手抄报