rcyang 发表于 2007-5-31 15:35

如何设置数据格式,实现二进制转十进制数?

请教一个问题
将二进制文件转成十进制文件
假设有个a.txt文件含有如下二进制数
100100111001
110000001011
110111000101
111101011010

matlab读这个a.txt的时候,会把这些二进制数当成十进制数,格式会变成科学计数法,出现e
如果能保留原来的形式,即使是十进制,那通过一下两个命令就可以实现转换
num2str
bin2dec

现在的问题就是:如何设置不出现e,而是保留原来的形式!!!

rcyang 发表于 2007-5-31 16:06

# Data_ADC14.txt是4096行1列的二进制字符串数
load Data_ADC14.txt
x=zeros(4096,1);
xx=zeros(4096,1);

for i=1:4096
    x(i)=num2str(Data_ADC14(i));
    xx(i)=bin2dec(x(i));
end


我用以上代码调试过不了

???In an assignmentA(I) = B, the number of elements in B and
I must be the same.

Error in ==> tmp7 at 6
    x(i)=num2str(Data_ADC14(i));

该怎么解决?

zhlong 发表于 2007-5-31 16:08

回复 #1 rcyang 的帖子

format long g

rcyang 发表于 2007-5-31 16:08

为什么执行如下指令可以,为什么上述for循环不行?

>> num2str(Data_ADC14(1000))

ans =

101010001011

pengweicai 发表于 2007-5-31 16:52

如果数据比较大的话,推荐用软件转换,比如 UltraEdit

rcyang 发表于 2007-5-31 20:36

搞定了

format long
load a.txt

Dout=zeros(numpt,1);
for i=1:4096
    a(i)=bin2dec(num2str(a(i)));
end
Dout=a;
页: [1]
查看完整版本: 如何设置数据格式,实现二进制转十进制数?