声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2427|回复: 5

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

[复制链接]
发表于 2007-5-31 15:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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

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

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

使用道具 举报

 楼主| 发表于 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 assignment  A(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));

该怎么解决?
发表于 2007-5-31 16:08 | 显示全部楼层

回复 #1 rcyang 的帖子

format long g
 楼主| 发表于 2007-5-31 16:08 | 显示全部楼层
为什么执行如下指令可以,为什么上述for循环不行?

>> num2str(Data_ADC14(1000))

ans =

101010001011
发表于 2007-5-31 16:52 | 显示全部楼层
如果数据比较大的话,推荐用软件转换,比如 UltraEdit
 楼主| 发表于 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

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-7-1 21:31 , Processed in 0.169914 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表