作者pw1212321 (小狼)
看板MATLAB
標題[問題] 浮點數運算問題
時間Wed Sep 16 20:19:19 2015
請問在做浮點數運算的時候,
我將 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
推 sunev: format 只影響顯示方式。 09/16 20:20
→ pw1212321: 請問s大,最後面出現的28756是什麼原因造成的? 09/16 20:30
推 tn00364361: 因為電腦是二進位的系統 09/16 20:42
→ celestialgod: 而且儲存位數有限 09/16 20:51