我有一个整数,我想将其转换为二进制并将位串存储在从右边开始的一维数组中。例如,如果输入是 6
,那么它应该返回一个类似 [1,1,0]
的数组。如何在 python 中实现?
最佳答案
解决方案
可能最简单的方法是不使用 bin()
和字符串切片,但使用 .format()
的功能:
'{:b}'.format(some_int)
它的行为方式:
>>> print '{:b}'.format(6)
110
>>> print '{:b}'.format(123)
1111011
如果是bin()
你只是得到相同的字符串,但前面有“0b
”,所以你必须删除它。
从二进制表示中获取 int
的列表
编辑:好的,所以不要只想要一个字符串,而是一个整数列表。你可以这样做:
your_list = map(int, your_string)
已编辑问题的组合解决方案
所以整个过程是这样的:
your_list = map(int, '{:b}'.format(your_int))
在我看来,比使用 bin()
干净得多。
关于python - 整数转二进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13663295/