gpt4 book ai didi

java - Math.abs 为 Integer.Min_VALUE 返回错误值

转载 作者:IT老高 更新时间:2023-10-28 11:49:33 24 4
gpt4 key购买 nike

这段代码:

System.out.println(Math.abs(Integer.MIN_VALUE));

返回-2147483648

不应该以2147483648的形式返回绝对值吗?

最佳答案

Integer.MIN_VALUE-2147483648,但 32 位整数可以包含的最大值是 +2147483647。尝试在 32 位 int 中表示 +2147483648 将有效地“翻转”到 -2147483648。这是因为,当使用有符号整数时,+2147483648-2147483648 的二进制补码表示是相同的。但是,这不是问题,因为 +2147483648 被认为超出范围。

如需更多了解此问题,您可能需要查看 Wikipedia article on Two's complement .

关于java - Math.abs 为 Integer.Min_VALUE 返回错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5444611/

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