看板 MATLAB 關於我們 聯絡資訊
大家好,因為研究需要所以寫了一個迴圈如下 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
CBET:用'%d'讀取造成整數 overflow, 不必經過中間轉換, 直接用 10/10 09:08
CBET:t = sprintf('%014s', dec2bin(y)) 即可 10/10 09:09
成功了!! 非常謝謝!!:) ※ 編輯: blue05 來自: 140.118.122.184 (10/10 13:30)