所以我有这个测试程序来检查整数的二进制值,一个是正数,另一个是负数。
int i = 100;
int i2 = -100;
System.out.println(Integer.toBinaryString(i));
System.out.println(Integer.toBinaryString(i2));
结果:
1100100
11111111111111111111111110011100
正如您所看到的,负数比正数具有更多的位数,这是否意味着负数比正数消耗更多的内存?
最佳答案
不,两者都是 32 位量 - 整数的宽度在给定平台上是固定的。它“更短”,因为它截断了所有前导 0。
您可能想阅读一些整数表示形式,特别是二进制补码表示形式。
关于java - 负数会消耗更多内存吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25029228/