[問題] 浮點數運算問題

看板MATLAB作者 (小狼)時間9年前 (2015/09/16 20:19), 編輯推噓2(202)
留言4則, 4人參與, 最新討論串1/1
請問在做浮點數運算的時候, 我將 0.600001 - 0.6 應該要得到 0.000001 但是使用format short 和 format long 所得到的答案不同 ---------------------------------------------------- >> format short >> a = 0.600001 a = 0.6000 >> b = 0.6 b = 0.6000 >> a - b ans = 1.0000e-06 >> >> format long >> a a = 0.600001000000000 >> b b = 0.600000000000000 >> a - b ans = 1.000000000028756e-06 ----------------------------------------------------- 請問是MATLAB儲存或處理浮點數運算的問題嗎? 該如何解決這樣的問題呢? 感謝大家指導 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.249.35.212 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1442405962.A.0E4.html

09/16 20:20, , 1F
format 只影響顯示方式。
09/16 20:20, 1F

09/16 20:30, , 2F
請問s大,最後面出現的28756是什麼原因造成的?
09/16 20:30, 2F

09/16 20:42, , 3F
因為電腦是二進位的系統
09/16 20:42, 3F

09/16 20:51, , 4F
而且儲存位數有限
09/16 20:51, 4F
文章代碼(AID): #1L-LvA3a (MATLAB)
文章代碼(AID): #1L-LvA3a (MATLAB)