输入指令
x=flintmax('single')为什么x+1的结果是错误的呢?(x+2的结果是正确的)
收起
你看flintmax的matlab解释就知道了:
此 MATLAB 函数 返回 IEEE 双精度的最大连续整数(即 2^53)。如果高于该值,则双精度格式没有整数精度,而且并非所有整数都能精确表示。
这个时候加1加2其实已经不精确了,因为已经进入浮点数范围了,有效数字不能保持了。
报告相同问题?