java - 负数会消耗更多内存吗?

标签 java memory bit

所以我有这个测试程序来检查整数的二进制值,一个是正数,另一个是负数。

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/

相关文章:

java - 使用 java.util.Date 对象作为主键

java - Collection.contains 产生错误的结果

c++ - Linux getrusage() maxrss 最大驻留集大小不随分配增加 (C++)

javascript - 在位掩码中设置位的正确方法是什么?

c# - 用于写入位的二进制表示法 - C#

java - 如何在 SOAPFault 中设置 faultCode?

java - java playframework 的 Yaml fixtures 不能按预期工作

python - 运行后memmap文件在哪里?

c++ - 读/写保护内存?

java - 如何在Java中将两个整数打包成4位short?