如何从txt文件中将两个字符串二进制数相乘

问题描述 投票:-4回答:1

Python的绝对初学者

给出一个.txt文件,其中包含1000行以下数据

11010101    10101010 
10101010    10101010
10101000    10101010

空格由制表符分隔的地方。我需要将两个二进制数字相乘,然后将数据格式化为1000x16矩阵,例如:

[[1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0],
[1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0]].

我的代码(到目前为止):

with open(‘file.txt’, ‘r’) in f:  
    dataset= f.read()
    dataset= f.split(’/t’)

此后,我不确定该怎么做。

任何帮助将不胜感激。

python numpy
1个回答
0
投票

您可以尝试以下代码:

result=[]
with open("file.txt", "r") as f:  
    dataset= f.readline()
    while dataset:
        t=dataset.split("\t")
        x=bin(int(t[0],2)*int(t[1],2))
        x=x[2:]
        #if length of result is less than 16 
        if(len(x)<16):
            req=16-len(x)
            y=""
            for i in range(0,req,1):
                y=y+'0'
            y=y+x
            x=y
        result.append(list(x))    
        dataset=f.readline()

print(result)       

(对于python 3.7.4)

© www.soinside.com 2019 - 2024. All rights reserved.