不使用内置 bin 函数将整数转换为二进制
问题描述
此函数接收一个整数作为参数,并应返回一个列表,该列表表示以二进制表示的相同值作为位列表,其中列表中的第一个元素是最高有效(最左边)位.
This function receives as a parameter an integer and should return a list representing the same value expressed in binary as a list of bits, where the first element in the list is the most significant (leftmost) bit.
我的函数当前为数字 11 输出 '1011'
,我需要 [1,0,1,1]
代替.
My function currently outputs '1011'
for the number 11, I need [1,0,1,1]
instead.
例如,
>>> convert_to_binary(11)
[1,0,1,1]
解决方案
def trans(x):
if x == 0: return [0]
bit = []
while x:
bit.append(x % 2)
x >>= 1
return bit[::-1]
相关文章