作者blue05 (纯粹˙蓝)
看板MATLAB
标题[讨论]关於sscanf的指令
时间Wed Oct 9 22:37:51 2013
大家好,因为研究需要所以写了一个回圈如下
for y=0:1:16383
r=dec2bin(y)
mat=sscanf(r,'%d')
t=num2str(mat,'%014d')
.
.
.
end
有一个严重的问题是
当r=1111111111时,mat=1.111111111+e009这是没有问题的
可是到了r=10000000000的时候,却发生mat=2.147483647e+009
之後也都是固定值,是不是我在使用的时候限制了长度之类的呢?
还请了解问题的高手帮忙...谢谢!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.118.122.184
1F:推 CBET:用'%d'读取造成整数 overflow, 不必经过中间转换, 直接用 10/10 09:08
2F:→ CBET:t = sprintf('%014s', dec2bin(y)) 即可 10/10 09:09
成功了!! 非常谢谢!!:)
※ 编辑: blue05 来自: 140.118.122.184 (10/10 13:30)