我有一小段代码,它将整数转换为 10 位二进制并将其形成为整数:
a = 2251
binary = bin(int(a))[2:].zfill(15)
print binary
结果如下:
100011001011
然后我想从 100011001011 中删除最后四位数字并用零代替它,这意味着我的最终答案应该是:
100011000000
如果有什么好的想法请提出...
请您参考如下方法:
您可以使用一些简单的 bit shifting 来做到这一点:
>>> a = 2251
>>> a = (a >> 4) << 4 # <--
>>> print format(a, 'b')
100011000000
为了演示发生了什么,假设 a 具有二进制表示 1111 1111:
a == 11111111 a >> 4 == 00001111 (a >> 4) << 4 == 11110000
