java 低位在前,高位在后 的16进制数据 1D00 ,如何转10进制,详细代码
时间: 2024-03-16 07:42:37 浏览: 23
Java代码如下:
```java
String hexString = "1D00";
byte[] bytes = new byte[2];
// 将16进制字符串转化为字节数组
for (int i = 0; i < hexString.length(); i += 2) {
bytes[i/2] = (byte) ((Character.digit(hexString.charAt(i), 16) << 4)
+ Character.digit(hexString.charAt(i+1), 16));
}
// 将字节数组转化为10进制数
int decimal = ((bytes[1] & 0xFF) << 8) | (bytes[0] & 0xFF);
System.out.println(decimal);
```
这段代码首先将 16 进制字符串 `"1D00"` 转化为一个长度为 2 的字节数组 `bytes`。然后,再将这个字节数组转化为一个 10 进制数 `decimal`。注意,这里使用了位运算符 `&` 和 `|` 来操作字节和位,确保了低位在前、高位在后的字节顺序。最后,程序输出转化后的 10 进制数 `464`。
相关问题
java 低位在前,高位在后 的16进制 1D00 ,转10进制代码
Java代码如下:
```java
String hexString = "1D00";
int decimal = 0;
for (int i = 0; i < hexString.length(); i++) {
char c = hexString.charAt(i);
int digit = Character.digit(c, 16);
decimal += digit * Math.pow(16, i);
}
System.out.println(decimal);
```
输出结果为:
```
464
```
java 将低位在前,高位在后 的16进制 1D00,调转后转10进制代码
将低位在前,高位在后的16进制数1D00转换成高位在前,低位在后的形式为001D。然后将001D转换为10进制数,其值为29。因此,Java中将低位在前,高位在后的16进制数1D00调转后得到的16进制表示为001D,对应的10进制值为29。下面是Java代码示例:
```java
String hex = "1D00"; // 低位在前,高位在后的16进制数
String reversedHex = ""; // 用于存储调转后的16进制数
for (int i = hex.length() - 2; i >= 0; i -= 2) {
reversedHex += hex.substring(i, i + 2);
}
int decimal = Integer.parseInt(reversedHex, 16); // 将调转后的16进制数转换为10进制数
System.out.println(decimal); // 输出29
```