Java 十六进制byte转十进制、两个十六进制byte转十进制(高低位)
程序员文章站
2022-07-15 09:26:32
...
在模拟modbus通信过程的时候,需要有如下转换过程
1、byte[]数组中存的是十六进制需要转十进制
2、两个十六进制的byte需要组合成一个十进制,比如高位:0x01,低位:0x78 组合成0x0178转十进制
解决办法
/**
* byte转为十进制int
* @param bytes
* @return
*/
public static int byte2int(byte bytes){
// 将byte转换为8位二进制字符串 依赖 commons-lang-x.x.jar包
String binaryString = StringUtils.leftPad(Integer.toBinaryString(bytes & 0xff), 8, '0');
// 将二进制字符串转换为十进制整数值
int value = Integer.parseInt(binaryString, 2);
return value;
}
/**
* 两个十六进制转为十进制
* @param b1 十六进制低位
* @param b2 十六进制高位
* @return
*/
public static int byteToInt(byte b1,byte b2){
int deci = (b1|b2<<8);
return deci;
}
上一篇: C语言格式化输出printf
下一篇: 基础练习 十六进制转八进制