在matlab中,使用fwrite函数将一个向量A写入文件中时,A中的正数写入正常,但负数全部变成了0.

例如:A=[1,-2,3,-4,5];fid=fopen('file.bin','w');fwrite(fid,A);fclose(fid);执行程序之后,用UltraE... 例如:
A = [1, -2, 3, -4, 5];
fid = fopen('file.bin', 'w');
fwrite(fid, A);
fclose(fid);
执行程序之后,用Ultra Edit以16进制方式打开file.bin文件,结果是01 00 03 00 05.
请高手解答,感激不尽!
展开
 我来答
若以下回答无法解决问题,邀请你更新回答
粤琛非z
2012-11-14 · TA获得超过1564个赞
知道小有建树答主
回答量:866
采纳率:100%
帮助的人:625万
展开全部
换成字符串再写:
fwrite(fid, int2str(A));
要写多行的话后面再加上换行符0x0A 0x0D
追问
这不是我要的结果啊。
用这种方法,最后用十六进制打开文件,结果是:31 20 2D 32 20 20 33 20 2D 34 20 20 35。
将原本非A中的元素字符 '空格' 也写进去了,将负号'-2'分成了两个字符 '-' 和 '2' 并分别以ASCII码存入文件,而不是用补码的形式。
因为我要将A写入文件之后,再在其他软件中读取,这样的话读取会有问题的吧!
望解答!谢谢了!
追答
然后再用别的软件按行读进去,再处理字符串应该就可以了吧;
按空格符分割字符串,再转换这样。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式