如何在 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, 0, 0, 1, 0, 0, 1, 1]
。遍历它并打印任何需要的东西:
for position, bit in enumerate(bits):
print '%d %5r (%d)' % (position, bool(bit), bit)
关于python - 在二进制数的位之间迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16659944/