为什么这两个函数的结果在MATLAB中不同?

问题描述 投票:0回答:1
a=floor(6/1)
b=floor(0.6/0.1)

为什么a产生值6而b产生5?

matlab floating-point floor
1个回答
0
投票

.6转换为IEEE-754 binary64格式时,结果为0.59999999999999997779553950749686919152736663818359375。转换.1时,结果为0.1000000000000000055511151231257827021181583404541015625。他们的商在6以下,所以它的下限是5。

© www.soinside.com 2019 - 2024. All rights reserved.