python转二进制高位补0_转换为二进制并在Python中保持前导零

转换为二进制并在Python中保持前导零

我试图使用Python中的bin()函数将整数转换为二进制。 但是,它总是删除我实际需要的前导零,这样结果总是8位:

例:

bin(1) -> 0b1

# What I would like:

bin(1) -> 0b00000001

有办法做到这一点吗?

8个解决方案

153 votes

使用0b功能:

>>> format(14, '#010b')

'0b00001110'

0b函数只是按照格式规范迷你语言格式化输入。 #使格式包括0b前缀,并且010大小格式化输出以适合10个字符宽度,具有0填充; 0b前缀为2个字符,其他8为二进制数字。

这是最紧凑和直接的选择。

如果要将结果放在一个更大的字符串中,请使用格式化的字符串文字(3.6+)或使用0b并在占位符#的冒号后面放置0b函数的第二个参数:

>>> value = 14

>>> f'The produced output, in binary, is: {value:#010b}'

'The produced output, in binary, is: 0b00001110'

>>> 'The produced output, in binary, is: {:#010b}'.format(value)

'The produced output, in binary, is: 0b00001110'


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部