gpt4 book ai didi

java - java的奇怪行为

转载 作者:行者123 更新时间:2023-11-30 05:57:17 25 4
gpt4 key购买 nike

你好,我有一些关于java的问题,为什么下面的代码返回奇怪的值?

System.out.println("Strange " + (20 * 232792560)/20);

为什么我会收到18044195

最佳答案

因为(20 * 232792560)溢出了int的范围,并且将数字范围绕了几次变成360883904。然后除以 20 即可得到您所看到的结果。

如果你想要正确的结果,那么你需要这样做:

System.out.println("Strange " + (20 * 232792560L) / 20);

(用 L 标记文字意味着常量数学运算将使用 long 完成,而不是使用 int,因此这将不再溢出。)

关于java - java的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5921441/

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