gpt4 book ai didi

java - 如何在java中正确获取小端整数

转载 作者:行者123 更新时间:2023-11-30 08:04:32 25 4
gpt4 key购买 nike

我需要获取 64 位小尾数法整数作为字节数组,高 32 位为零,低 32 位包含一些整数,假设它是 51。

现在我是这样做的:

 byte[] header = ByteBuffer
.allocate(8)
.order(ByteOrder.LITTLE_ENDIAN)
.putInt(51)
.array();

但我不确定这是不是正确的方法。我做得对吗?

最佳答案

尝试以下方法怎么样:

private static byte[] encodeHeader(long size) {
if (size < 0 || size >= (1L << Integer.SIZE)) {
throw new IllegalArgumentException("size negative or larger than 32 bits: " + size);
}

byte[] header = ByteBuffer
.allocate(Long.BYTES)
.order(ByteOrder.LITTLE_ENDIAN)
.putInt((int) size)
.array();
return header;
}

我个人认为这样更清楚,您可以使用完整的 32 位。

我忽略了这里的标志,你可以单独传递它们。我更改了答案,将缓冲区的位置放在大小的末尾。

关于java - 如何在java中正确获取小端整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35560836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com