FreePie 忘记了如何做除法

FreePie 忘记了如何做除法

我已经使用这个程序很长时间了,没有出现任何问题。但是昨天它突然忘记了如何进行除法。几乎每个等式都返回 0,而少数几个返回 1 或 -1。我不知道这是什么规律。

我甚至尝试输入代码“diagnostics.watch( 1 / 2 )”,它当然应该返回 0.5,但它返回的是 0。

我尝试卸载 FreePie 并重新安装,但问题并没有得到解决。

答案1

听起来好像程序正在做一些事情但是却不让你知道。

在传统的整数除法中,1/2 为零,因为该操作试图将值存储回整数。0.5 不是有效的整数值,因此将其存储为 0。

其他操作(产生 -1 和 1)似乎可以正常进行浮点运算,但它们对小于 1 的正值执行整数“上限”运算(任何浮点值都会被四舍五入向上到下一个整数值,因此 0.5 被四舍五入为 1)以及对小于一的负值进行整数“向下取整”运算,其中数字被四舍五入为下一个负整数(-0.5 四舍五入为 -1)。请参阅地板和天花板功能更多细节。

我不知道为什么程序会“突然”开始以这种方式处理除法,但这可能是他们使用的库的更新。您可以在他们的文档中找到一些详细信息。

相关内容