作者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://webptt.com/cn.aspx?n=bbs/MATLAB/M.1442405962.A.0E4.html
1F:推 sunev: format 只影响显示方式。 09/16 20:20
2F:→ pw1212321: 请问s大,最後面出现的28756是什麽原因造成的? 09/16 20:30
3F:推 tn00364361: 因为电脑是二进位的系统 09/16 20:42
4F:→ celestialgod: 而且储存位数有限 09/16 20:51