【发布时间】:2018-06-03 11:29:04
【问题描述】:
这可能是一个重复的问题,但我在搜索时找不到类似的问题。
我正在寻找一种简单、有效的方法来确定 int 在运行时需要多少有符号字节。
例如,考虑具有以下值的int:
1 - Requires 1 Byte
10 - Requires 1 Byte
128 - Requires 2 Bytes
1024 - Requires 2 Bytes
32768 - Requires 3 Bytes
...
Integer.MAX_VALUE - Requires 4 Bytes
编辑:对我来说很明显,int 需要 4 bytes 的内存,无论其值如何。不过,如果不是这种情况,我正在寻找该值将占用的字节数。
理想情况下,我正在寻找的答案是利用位操作并为输入 0 返回值 1。
【问题讨论】:
-
字节为 8 位。您需要确定您的号码需要多少位。
-
@ThorbjørnRavnAndersen 我正在寻找我的号码需要多少
bytes。 -
在 Java 中,
int总是需要 4 字节的内存,无论其内容如何。 -
@Alnitak 我知道,但我正在寻找该数字占用的确切字节数。
-
当您向缓冲区添加了 4 个 1 字节的值时,您如何知道它是 4、2 还是 1 值?如何使用这些值?
标签: java memory binary int byte