Matlab fscanf函数如何按行读取有符号16进制整数

数据格式:
OX3f80

OX3f01

OX3e84

OX3e07

OX3d8c

OX3d11

OX3c98

OX3c1f

OX3ba7

OX3b30

test.txt 文档中保存了有符号16进制数,位宽为17bit:

fid=fopen('test.txt',rb);
data=fscanf(fid,'%x');
fclose(fid);
index = data > 2^16-1;
t(index) = t(index) - 2^17;
以上代码参考mathwork.com
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-29
根据说明文档,%i可以表示16进制有符号整数。追问

这个文档我看了,也这样用了,但不对,读不出数据,不知具体原因。

追答

到底是 "不对“,即程序报错,
还是 数据”不对“,即读出来的数据和预期不一样
还是 ”读不出数据"
说清楚具体发生了什么异常现象。

本回答被提问者采纳
相似回答