gpt4 book ai didi

delphi - 为什么使用real进行计算与使用int进行计算会得出不同的结果?

转载 作者:行者123 更新时间:2023-12-03 18:53:25 25 4
gpt4 key购买 nike

我有这样的代码例如:

(a) writeln ('real => ', exp(3*Ln(3)):0:0);  // return 27
(b) writeln ('int => ', int(exp(3*Ln(3))):0:0); // return 26


是个错误吗?
函数calc 3 ^ 3(使用ln和exp函数的指数),但从实数到整数的转换失败; (a)返回27,(b)返回(26)时,两者都应为27。
我可以解决吗?
非常感谢您的帮助。

Ps:使用trunc将结果分配给整数变量,结果不变。

最佳答案

不,这不是错误。计算机根本就没有无限的精度,因此结果不完全是27,而是26.999999999左右。因此,当您inttrunc时,其结果为26。请改用Round

关于delphi - 为什么使用real进行计算与使用int进行计算会得出不同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7351920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com