server 发表于 2024-4-25 14:53:53

发现一个有趣的【式子】带来的灵异事件。

SHORT H =12345; //H 区间= 0-65535
double M1 = (double)H / 65535.0 * 360.0 * M_PI / 180.0;
double M2 = (double)H / 182.0416666666667 * M_PI / 180.0;

亲们,把你们的脑洞打开来超速运行,猜猜M1 是否等于 M2
如果你看着脑壳疼,请离开,千万不要继续研究。



weilai 发表于 2024-4-25 21:33:26

肯定不一样啊,除不净的话就会保留精度,导致不一样

Xelloss0618 发表于 2024-4-25 21:59:00

二进制存储小数有精度损失,只能是近似值,所以小数的等于比较很难得出预期的效果。
比如火山就有封装「小数是否相等」,通过比较两个小数的差值是否在一定的范围内(一个很小的数),来判断两个小数是否相等。

server 发表于 2024-4-25 23:09:39

本帖最后由 server 于 2024-4-26 06:36 编辑

他的值是个近似值。
非常接近
式子风马牛不相及,但结果差异不大。

weilai 发表于 2024-4-26 12:00:09

这就是相等的两个式子啊
页: [1]
查看完整版本: 发现一个有趣的【式子】带来的灵异事件。