如何从java中的溢出字节中删除(f)位

时间:2011-04-08 09:23:41

标签: java byte

如何从字节值ffffffb0中仅获取b0。我尝试(0xff& ffffffb0),但我仍然得到相同的结果。一些解决方案。

4 个答案:

答案 0 :(得分:1)

你需要屏蔽远离高阶位,强制它们为0,因此只保留低位:

byte byteValue = 0xb0;
int byteValue = byte & 0xff;

答案 1 :(得分:1)

0xffffffb0& 0x000000ff应该工作

答案 2 :(得分:0)

作为一个字节,0xb0与0xffffffb0相同。作为一个int,你可以得到它只有0xb0。 (第7位已设置,Java没有无符号字节的概念)

答案 3 :(得分:0)

System.out.println( Integer.toHexString(0xffffffb0 & 0x000000ff));