将二进制输出限制为8位

时间:2016-10-13 13:06:04

标签: java

如何在java中解决这个问题?

int mask = ~0;

System.out.println(Integer.toBinaryString(mask));

当我输入时,输出变为:11111111111111111111111111111111 但是我只想获得8位(11111111)

另一个例子是,

int left = mask << 7;

System.out.println(Integer.toBinaryString(left));

这两行的输出是:11111111111111111111111110000000 我怎么能拿最后8位? (10000000)

1 个答案:

答案 0 :(得分:0)

int类型有4个字节,每个字节有8位,所以当你调用Integer类的BinaryString时,你得到32位字符串。

您可以使用以下代码来实现目标。

int mask = ~0;
System.out.println(Integer.toBinaryString(mask & 0xFF));
int left = mask << 7;
System.out.println(Integer.toBinaryString(left & 0xFF));

我希望代码可以帮到你。