我需要将声明为字节数据类型的值转换为 8 位字符串。是否有任何 Java 库方法可以做到这一点?例如,它应该输入 -128 并输出“10000000”。此外,输入 -3 应该给出“11111101”。(我手动转换了这些。)
在您认为这已被多次回答之前,请让我解释一下为什么我感到困惑。
“字节”这个名字有点模棱两可。因此,很难遵循其他答案。对于我的问题,byte
指的是占用 8 位并且其值范围从 -128 到 127 的java 数据类型。我也不是指“字节数组”。我的问题是将单个值仅转换为其 8 位表示。而已。
我试过这些:
byte b = -128; //i want 10000000
Integer.toBinaryString(b); //prints 11111111111111111111111110000000
Integer.toString(b, 2); //prints -10000000
如果没有内置方法,您能否提出任何方法(可能是位移)?