java实现大小端数转换(附完整源码)
时间: 2023-12-18 14:05:16 浏览: 138
以下是Java实现大小端数转换的代码:
```java
public class EndianConversion {
public static void main(String[] args) {
int num = 0x12345678;
System.out.println("原始数据:" + Integer.toHexString(num));
int littleEndian = Integer.reverseBytes(num);
System.out.println("小端数据:" + Integer.toHexString(littleEndian));
int bigEndian = Integer.parseInt(
Integer.toHexString(num).replaceAll("..", "$0 "),
16
);
System.out.println("大端数据:" + Integer.toHexString(bigEndian));
}
}
```
代码中,我们定义了一个EndianConversion类,用来进行大小端数转换。在main方法中,我们首先定义了一个int类型的数值num,其值为0x12345678,表示一个32位的十六进制数。
接着,我们使用Java提供的Integer.reverseBytes方法将num转换为小端数,即反转字节顺序。将转换后的结果使用Integer.toHexString方法输出,得到小端数的十六进制表示。
最后,为了将num转换为大端数,我们使用了一个替换方法。将num转换为十六进制字符串之后,使用replaceAll方法将其分割成两位一组的形式,分隔符为一个空格。然后再使用Integer.parseInt方法将这个字符串解析为一个int类型的数值,即可得到大端数的表示。
需要注意的是,大小端数转换的结果只是改变了数据在内存中的存储方式,并不改变其实际值。因此,在实际应用中,需要根据具体情况进行选择。
阅读全文