一行获得byte8位二进制字符串的代码

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

猜你喜欢

转载自xiaoxiaoher.iteye.com/blog/2422832
今日推荐