将数字转换为二进制并保留前导零

235

我在尝试使用Python中的bin()函数将整数转换为二进制。然而,它总是会删除前导零,而我实际上需要保留前导零,以便结果始终为8位:

示例:

bin(1) -> 0b1

# What I would like:
bin(1) -> 0b00000001

有没有一种方法可以做到这一点?


参见:Python int to binary?,特别是使用n位表示的我的答案。虽然不完全相同,但我在寻找我的答案时来到了这个问题... - Martin Thoma
11个回答

-3
你可以使用 string.rjust 方法:
string.rjust(length, fillchar)

fillchar 是可选的

对于你的问题,你可以这样写

'0b'+ '1'.rjust(8,'0)

因此它将是'0b00000001'


1
有一个语法错误。但更重要的是,它根本没有回答问题,问题是关于将int转换为其文本二进制表示形式;你甚至没有从int开始。 - Thierry Lathuille

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接