【发布时间】:2019-09-25 05:34:20
【问题描述】:
我有这个代码
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(最近一次调用最后一次):
文件“”,第 59 行,在 print(decimalToBinary(n[i], k))
TypeError:列表索引必须是整数或切片,而不是浮点数 另外我想要一个数组中的二进制转换数据。
【问题讨论】:
标签: python python-3.x