gpt4 book ai didi

python - 十进制转二进制,如何得到8位二进制?

转载 作者:太空宇宙 更新时间:2023-11-03 21:00:19 24 4
gpt4 key购买 nike

所以我需要将十进制转换为二进制,但我所有的返回值都需要是 8 位长。

我已经弄清楚了转换本身,但我需要弄清楚如果少于 8 位,如何在开头添加零。

old_number = int(input("Enter whole number here: "))
number = old_number
binary_translation = 0

while number > -1:
if number > 128 or number == 128:
binary_translation = binary_translation + 10000000
number = number - 128
elif number > 64 or number == 64:
binary_translation = binary_translation + 1000000
number = number - 64
elif number > 32 or number == 32:
binary_translation = binary_translation + 100000
number = number - 32

等等一直为零...

print("数字", old_number, "是", binary_translation, "二进制。")

如果 number = 39,我想要的结果 - 00100111

如果 number = 39 - 100111,我得到的结果

最佳答案

TLDR:使用它:'{:0>8}'.format(str(bin(a))[2:])

<小时/>

您进行了不必要的二进制转换。 Python 有内置函数 bin() 可以为您完成此操作:

>>> number = 39
>>> bin(number)

'0b100111'

您可以裁剪它:

>>> str(bin(number))[2:]

'100111'

并添加前向零:

>>> '{:0>8}'.format(str(bin(a))[2:])

'00100111'

这是最后一句:'{:0>8}'.format(str(bin(a))[2:])

如果你想了解更多关于这个:'{:0>8}'魔法,你可以阅读this文章。

关于python - 十进制转二进制,如何得到8位二进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55754130/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com