负数补码(16进制转10进制的负数)
2022-10-13 07:44 猎手家园 阅读(252) 评论(0) 编辑 收藏 举报假如我想通过modbus tcp接收设备上传的报文,该设备显示为负数,但报文上无法解析出来(温度报文异常,负数无法显示与转换)。这时候,我就需要对这个报文进行负数补码形式,16进制转10进制的负数。
public static void main(String[] args) { //补码 BigDecimal s = new BigDecimal(Integer.valueOf("fff6",16).shortValue()); BigDecimal ss = new BigDecimal("0.1"); System.out.println(s.multiply(ss)); }
欢迎关注我的公众号:云栖语,不一样的研发视界。
云栖语微信公众号:change-1978