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

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