gpt4 book ai didi

java - Bits.java 中的 '0x0102030405060708L' 是什么

转载 作者:行者123 更新时间:2023-12-01 06:42:22 25 4
gpt4 key购买 nike

所以我在java.nio包的Bits.java中看到了这个静态 block 。

 static {
long a = unsafe.allocateMemory(8);
try {
unsafe.putLong(a, 0x0102030405060708L);
byte b = unsafe.getByte(a);
switch (b) {
case 0x01: byteOrder = ByteOrder.BIG_ENDIAN; break;
case 0x08: byteOrder = ByteOrder.LITTLE_ENDIAN; break;
default:
assert false;
byteOrder = null;
}
} finally {
unsafe.freeMemory(a);
}
}

0x0102030405060708L的意义是什么?
这个硬编码值是什么?

最佳答案

该值没有特殊意义。该代码正在写入一个 64 位整数,并查看字节在内存中出现的顺序。 (这就是“大端”和“小端”的含义;请参阅 Endianness

几乎可以使用任何值...只要高 8 位和低 8 位是可区分的。

关于java - Bits.java 中的 '0x0102030405060708L' 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51278046/

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