【发布时间】:2019-09-09 06:27:51
【问题描述】:
所以我需要将十进制转换为二进制,但我的所有返回都需要 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("The number", old_number, "is", binary_translation, "in binary.")
如果 number = 39 我想要的结果 - 00100111
如果 number = 39 - 100111,我会得到结果
【问题讨论】:
-
您可以使用 zfill 函数:
str(100111).zfill(8)或字符串格式:'{:0>8}'.format(100111)。查看this question 的答案。