声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1758|回复: 5

[编程技巧] matlab二进制文件读取问题:

[复制链接]
发表于 2009-4-9 22:12 | 显示全部楼层 |阅读模式

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

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

x
matlab二进制文件读取问题:
数据:00000000 00000001
用matlab的fread(fid,1,'int16')读取后,
显示的结果是256(即00000001 00000000),
正确的结果应该是1(即00000000 00000001),这是怎么回事啊,难道还存在回事,难道还存在高低位问题。
回复
分享到:

使用道具 举报

发表于 2009-4-10 10:55 | 显示全部楼层
用textread吧。。
发表于 2009-4-10 23:29 | 显示全部楼层

回复 沙发 maigicku 的帖子

How?
可以的話,說清楚些! 3Q
发表于 2009-4-13 09:34 | 显示全部楼层
呃~~好像偶理解错了。。刚一开始认为LZ只是想单纯地读取数据的问题。。
认为用textread(' ','%d')读出来,可发现LZ的问题不是那么简单。。
发表于 2009-4-13 22:07 | 显示全部楼层

回复 地板 maigicku 的帖子

ㄡ不要紧, 偶也时常理解错楼主的意思!
发表于 2009-4-14 11:17 | 显示全部楼层
我又试了试,不过我按下面的程序得出来的结果是12336,并不是LZ所说的256,可能程序不一样,希望LZ能帖出来:
y=fopen('T1.txt','r');
A=fread(y,1,'int16')

下面是偶个人的一些想法:
读取的文件是.txt,也就是文件中的第一位0是一个字符,而非二进制,占了8位,读取的时候每8位读一次,即读出来0所对应的就是48

如果LZ想得到1的结果,偶尝试着编了一下,不知是不是LZ所想要的:
y=textread('T1.txt','%q');
  y1=y';
  B=strcat(y1(1),y1(2));
  C=str2num(char(B))

T1.TXT文件内容如下:
00000000 00000001

评分

1

查看全部评分

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

本版积分规则

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

GMT+8, 2024-9-22 15:41 , Processed in 0.056759 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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