如何在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)
。
答案 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));
我希望代码可以帮到你。