java 十进制转十六进制 高低位
时间: 2023-09-17 21:06:31 浏览: 130
java十进制转十六进制
3星 · 编辑精心推荐
在 Java 中,可以使用 `Integer.toHexString()` 方法将十进制数转换为十六进制字符串。对于高低位的问题,这取决于你的具体需求。
如果你需要将一个整数按照大端序(高位在前,低位在后)转换为十六进制字符串,可以使用以下代码:
```java
int num = 305419896; // 0x12345678
String hexString = Integer.toHexString(num);
System.out.println(hexString); // 输出 12345678
```
如果你需要将一个整数按照小端序(低位在前,高位在后)转换为十六进制字符串,可以使用以下代码:
```java
int num = 305419896; // 0x12345678
byte[] bytes = ByteBuffer.allocate(4).order(ByteOrder.LITTLE_ENDIAN).putInt(num).array();
String hexString = DatatypeConverter.printHexBinary(bytes);
System.out.println(hexString); // 输出 78563412
```
这里使用了 `ByteBuffer` 类来实现小端序的转换,其中 `ByteBuffer.allocate(4)` 创建了一个长度为 4 字节的缓冲区,`ByteOrder.LITTLE_ENDIAN` 指定了字节序为小端序,`putInt(num)` 将整数写入缓冲区,最后调用 `array()` 方法获取缓冲区的字节数组,再使用 `DatatypeConverter.printHexBinary()` 方法将字节数组转换为十六进制字符串。
阅读全文