不使用内置 bin 函数将整数转换为二进制

2022-01-09 00:00:00 python list bit binary converter

问题描述

此函数接收一个整数作为参数,并应返回一个列表,该列表表示以二进制表示的相同值作为位列表,其中列表中的第一个元素是最高有效(最左边)位.

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]

相关文章