为什么0x8FFFFFF等于128MB?

时间:2013-06-14 04:38:20

标签: hex

我有时看到这样的代码:

int length = 0x8FFFFFF; //128MB
byte buf = new byte[length];

对我来说没有多大意义:

0x8FFFFFF = 150,994,943
128MB = 128 * 1024 * 1024字节= 134,217,728字节

这两个号码不相等。我在这里缺少什么?

谢谢,

2 个答案:

答案 0 :(得分:5)

之前有人7,但为了避免出现一个错误,我将其更改为8,但忘记将其余内容更改为0

答案 1 :(得分:0)

好吧,0x7FFFFFF = 134217727,所以128MB应该是0x8000000