繁体   English   中英

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

[英]Remove last digit from integer and put zero in python

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

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

结果如下:

100011001011

之后,我想从100011001011删除最后四位数字,并用零代替,这意味着我的最终答案应该是:

100011000000

请提出任何好主意...

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

>>> a = 2251
>>> a = (a >> 4) << 4  # <--
>>> print format(a, 'b')
100011000000

为了演示正在发生的事情,假设a具有二进制表示1111 1111

a             == 11111111

a >> 4        == 00001111

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

您可以使用简单的按位运算:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM