【发布时间】:2021-09-23 18:58:06
【问题描述】:
我们有一个程序可以将小数转换为二进制。
目标是运行程序,输入一个值,输出二进制值。
我的代码的问题是它在输出二进制文件时有尾随零。
我需要在不使用诸如“数学”之类的外部库的情况下实现这一点,所以请坚持使用内置函数。
当前输出:
预期输出:
插入一个值: 5 该数字适合 1 个字节并且是二进制的: 101 插入一个值: 100 该数字适合 1 个字节并且是二进制的: 1100100 插入一个值: 280 该数字适合 16 位并且是二进制的: 100011000当前代码:
def dec2bin(value, number_bits):
result = ''
while number_bits > 0:
bit_value = 2 ** (number_bits - 1)
if value >= bit_value:
result = result + '1'
value = value - bit_value
else:
result = result + '0'
number_bits = number_bits - 1
print(result)
input_ok = False
userinput = 0
while not input_ok:
print('Insert a value:')
userinput = int(input())
if userinput > 65535:
print('invalid, cant handle that big numbers, try again')
else:
input_ok = True
if userinput < 256:
print('The number fits in 1 byte and is in binary:')
dec2bin(userinput, 8)
else:
print('The number fits in 16 bits and is in binary:')
dec2bin(userinput, 16)
【问题讨论】:
-
不,在那里找不到我的解决方案。
标签: python