gpt4 book ai didi

java - 在 java 中划分 -ve int/-ve int 的奇怪行为

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:33:22 27 4
gpt4 key购买 nike

虽然我不是 java 的新手,但前几天我观察到了这种奇怪的行为。我通过运行由基本算术运算组成的代码来复习我的基础知识。现在根据 java(当然还有算术的基本规则),-ve * -ve-ve/-ve 是一个 +ve 数.

但是编译这个来源:-

int b = Integer.MIN_VALUE / -1;
System.out.println("b: " + b);

给我输出:-

b: -2147483648

哪个是-ve,谁能指出我哪里出了问题?我知道这一定是我没注意到的小事。

最佳答案

除以 -1 等同于取负数。

由于整数范围(-2147483648 到 2147483647)在负侧 -Integer.MIN_VALUE 的数量级大 1 等于 Integer.MAX_VALUE+1 溢出为 Integer.MIN_VALUE

System.out.println(Integer.MIN_VALUE == -Integer.MIN_VALUE); // prints 'true'

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

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