matlab中怎么把一个二进制txt文件读到一个一维数组中,然后取数组中的每64位与多项式做64位crc32计算

我要把文件中的数据读到一个数组中,每次取64位进行crc32计算,每次都得到一个32位的二进制数据,都追加写到另一个txt文件中,形式和上面的一样,只是每行都只有32个二进制数,希望有大神帮忙,非常谢谢!本人刚接触matlab,又要完成工作,压力大呀,

fid=fopen('输入文件路径\文件名','r');
a=fscanf(fid,'%s');
fclose(fid);

a就是一个包含输入文件所有’0‘,’1‘字符的一维行向量
如果想获得0,和1的数值,可以
b=a-’0‘;
那么b就是double型的由数值0,1组成的行向量和a对应
b=(a=='1');
那么b就是logical型的由数值0,1组成的行向量和a对应

这个时候,你可以打开另一个文件
fid=fopen('输出文件路径\文件名‘,'a+');

设置循环,直至将a读完
{
从a读取64个字符
crc解码获得32个字符放到字符数组c中
fprintf(fid,'%s\n',c);
}

fclose(fid);追问

但是得到的b.txt文件不是我想要的样子

 

我想得到的结果是

希望你能帮忙解答一个,非常感谢你!

追答

如果你转换的程序都没有什么问题
那么问题出在你以追加的方式来写出数据
你原来'b.txt'不是空的文件,你后来写入的都在原来的内容的后面

重新建个空白的文件,然后运行你的程序,写到这个文件里面,应该没有什么问题了

温馨提示:答案为网友推荐,仅供参考