gpt4 book ai didi

java - 乘长值?

转载 作者:太空狗 更新时间:2023-10-29 22:36:48 27 4
gpt4 key购买 nike

class Main {  
public static void main (String[] args){
long value = 1024 * 1024 * 1024 * 80;
System.out.println(Long.MAX_VALUE);
System.out.println(value);
}
}

输出是:

92233720368547758070

如果long value = 1024 * 1024 * 1024 * 80L; 就正确了!

最佳答案

在 Java 中,所有数学运算都是在处理所有当前值所需的最大数据类型中完成的。因此,如果您有 int * int,它将始终作为整数进行数学运算,但 int * long 是作为 long 进行的。

在这种情况下,1024*1024*1024*80 是作为 Int 完成的,它会溢出 int。

“L”当然会强制其中一个操作数为 Int-64(长整型),因此所有数学运算都已完成,将值存储为长整型,因此不会发生溢出。

关于java - 乘长值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1494862/

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