作者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)