Java 中的 long 型使用二进制补码表示法表示负数,即负符号位+绝对值位。计算负数时,按位取反原数字并加上 1。long 类型的范围为 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807,溢出时回绕。

Java 中 long 型如何表示负数?
Java 中的 long 型是一种 64 位有符号整数类型,它可以表示负数和正数。
表示负数的机制
Java 中所有有符号整数类型(包括 long)都使用二进制补码表示法来表示负数。在二进制补码中,一个负数用一个表示负符号的最高有效位和一个表示该负数绝对值的其余位来表示。例如:
立即学习“Java免费学习笔记(深入)”;
- 负 10(二进制:1010)在 Java 中表示为:11111111111111111111111111111010
计算负数
要计算 long 型负数,可以执行以下步骤:
- 对该数字按位取反(即,将 0 转换为 1,将 1 转换为 0)。
- 对结果加上 1。
例如,要计算负 10(二进制:1010),我们可以执行以下步骤:
- 按位取反:11111111111111111111111111110101
- 加上 1:11111111111111111111111111111010
注意:
-
long型的范围是 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。 - 如果
long值溢出(超出其范围),它将回绕到其范围的另一端。例如,如果我们尝试将long值 -9,223,372,036,854,775,809 存储在变量中,它将回绕到 9,223,372,036,854,775,807。











