从整数中删除最后一位数字并在python中输入零

时间:2014-06-05 18:13:43

标签: python int

我有一个小代码,它将整数转换为10位二进制并将其形成为整数:

a = 2251
binary = bin(int(a))[2:].zfill(15)
print binary

它会将结果表示为:

  

100011001011

之后我想删除100011001011中的最后四位数字并将零写成零,这意味着我的最终答案应该是:

  

1000.11亿

请建议是否有任何好的想法...

2 个答案:

答案 0 :(得分:5)

您可以使用一些简单的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

答案 1 :(得分:3)

您可以使用简单的按位操作:

>>> a = 2251
>>> a = a & ~0b1111
>>> print format(a, 'b')
100011000000