byte tByte = -2; String tString = Integer.toBinaryString((tByte & 0xFF) + 0x100).substring(1);
这里的代码基于一点,Integer.toBinaryString 方法获得从第一个1截取得到的字符串。
-2的byte二进制为1111 1110
toBinaryString方法的参数为int类型
-2的int二进制为 1111 1111 11111 1111 1111 1111 1111 1110
tByte&0xFF获得int类型值254,二进制表示为0000 0000 0000 0000 0000 0000 1111 1110
加上0x100再从1开始截取字符串,是为了当byte值为正数时,得到的字符串为8位,保留前面的几个0