如何在Java中使-2147483648成为正数?

Hel*_*Cui -3 java

我的问题:如何在Java中使-2147483648成为正数?

我的想法:有很多方法可以使负数变为正数:

将负数变为正数

然而,对于边缘情况,Java 中 int 的最小值为 -2147483648,所有这些方法都不起作用。

我应该怎么办?非常感谢!

Mik*_*ans 5

如果你关心它留下int:你不能。这int基元仅适合从 -2147483648 到 2147483647(包括 2147483647)的值。

但是,如果您只想将 -2147483648 转换为整数 2147483648,则使用long

public class Test
{
  public static void main(String[] args)
  {
    int v = -2147483648;
    long r = -(long)v;
    System.out.print(r);
  }
}
Run Code Online (Sandbox Code Playgroud)

并做了:2147483648

当然,还要通读https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html以熟悉所有原始数据类型的限制。如果这还不够,并且您需要任意长度的整数,则可以使用BigInteger 。