添加数据持久化事件推送能力

This commit is contained in:
wangshilong 2024-11-26 12:47:19 +08:00
parent 68fc310305
commit 47041ca901
1 changed files with 17 additions and 7 deletions

View File

@ -1,6 +1,5 @@
package com.iot.modbus_rtcp;
import com.iot.modbus_rtcp.utils.HexUtil;
import org.junit.jupiter.api.Test;
/**
@ -25,21 +24,32 @@ public class BinaryToDecimalTest {
@Test
public void hexStringToNegativeNumber() {
String hexString = "E1";
int number = 225;
String binaryString = Integer.toBinaryString(number);
byte[] byteValues = HexUtil.hexStringToBytes(hexString);
System.out.println(Integer.parseInt(binaryString, 2));
String hexNumber = "F6";
int a = Integer.parseInt(hexNumber, 16);
// 取反(~)运算
int resultNotA = ~a; // 结果为 1111 1010
System.out.println("取反(~)运算结果:" + resultNotA + ", 反码:" + Integer.toBinaryString(resultNotA));
// 计算反码和补码
int complement = resultNotA + 1; // 计算补码
System.out.println("负数的补码表示:" + complement + ", 补码:" + Integer.toBinaryString(resultNotA));
}
@Test
public void hexStringToNegativeNumber1() {
// String hexNumber = "F7"; // 16进制负数表示等同于-9
String hexNumber = "E1"; // 16进制负数表示等同于-10
// String hexNumber = "F6"; // 16进制负数表示等同于-10
String hexNumber = "E6"; // 16进制负数表示等同于-26
int decimalNumber = Integer.parseInt(hexNumber, 16);
String binaryNumber = Integer.toBinaryString(decimalNumber);
System.out.println("有符号16进制数 " + hexNumber + " 对应的2进制数为 " + binaryNumber);
binaryNumber = binOriginalToBack(binaryNumber);
System.out.println("有符号16进制数 " + hexNumber + " 对应的反码为 " + binaryNumber + " 值为 " + Integer.parseInt(binaryNumber, 2));
binaryNumber = binBackToRepair(binaryNumber, "1");
System.out.println("有符号16进制数 " + hexNumber + " 对应反码的补码为 " + binaryNumber + " 值为 " + Integer.parseInt(binaryNumber, 2));
System.out.println("有符号16进制数 " + hexNumber + " 对应的10进制数为 " + this.binRepairToDec(binaryNumber));
}