加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 在二进制数中的位之间进行迭代

发布时间:2020-12-20 12:22:22 所属栏目:Python 来源:网络整理
导读:如何在 python 3中给定一个特定的二进制数来迭代和计算每个位的值? 例如: 00010011 --------------------bit position | value--------------------[0] false (0)[1] false (0)[2] false (0)[3] true (1)[4] false (0)[5] false (0)[6] true (1)[7] true (
如何在 python 3中给定一个特定的二进制数来迭代和计算每个位的值?

例如:

00010011 
--------------------
bit position | value
--------------------
[0]            false (0)
[1]            false (0)
[2]            false (0)
[3]            true  (1)
[4]            false (0)
[5]            false (0)
[6]            true  (1)
[7]            true  (1)

解决方法

使用位时最好使用 bitwise operators:

number = 19

num_bits = 8
bits = [(number >> bit) & 1 for bit in range(num_bits - 1,-1,-1)]

这将为您提供8个数字的列表:[0,1,1].迭代它并打印所需的任何东西:

for position,bit in enumerate(bits):
    print '%d  %5r (%d)' % (position,bool(bit),bit)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读