我有这个密码
m1=[]
def decimalToBinary(num, k_prec) :
binary = ""
Integral = int(num)
fractional = num - Integral
while (Integral) :
rem = Integral % 2
binary += str(rem);
Integral //= 2
binary = binary[ : : -1]
binary += '.'
while (k_prec) :
fractional *= 2
fract_bit = int(fractional)
if (fract_bit == 1) :
fractional -= fract_bit
binary += '1'
else :
binary += '0'
k_prec -= 1
return binary
if __name__ == "__main__" :
xr=([0.3,0.4,0.5])
for i in xr:
n = xr
k = 32
a=(decimalToBinary(n[i], k))
m1.append(a)
问题是,我有一个列表/数据,我想转换成二进制,但通过运行这个代码,我得到了这个错误
Traceback (most recent call last):
File "", line 59, in print(decimalToBinary(n[i], k))
TypeError: list indices must be integers or slices, not float Plus i want the binary converted data in an array .
您发布了太多的代码:该函数是不必要的,因为错误在参数格式中。看看这个:
错误:
错误消息告诉您,问题出在列表索引中。 你用了一个浮点数,这是非法的。我怀疑你想要的只是
相关问题 更多 >
编程相关推荐