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

lkk*_*kkk 1 python int

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

a = 2251
binary = bin(int(a))[2:].zfill(15)
print binary
Run Code Online (Sandbox Code Playgroud)

它会给出结果:

100011001011

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

1000.11亿

请建议是否有任何好主意......

ars*_*jii 5

你可以通过一些简单的位移来做到这一点:

>>> a = 2251
>>> a = (a >> 4) << 4  # <--
>>> print format(a, 'b')
100011000000
Run Code Online (Sandbox Code Playgroud)

为了演示正在发生的事情,想象一下a有二进制表示1111 1111:

a             == 11111111

a >> 4        == 00001111

(a >> 4) << 4 == 11110000