【发布时间】:2011-07-14 03:50:41
【问题描述】:
我的问题是这样的。
我在 Java 中有一些字节计算。在某些计算中,我得到了我想要的字节值结果“2a”,但在某些计算中,我得到了字节值中的“ffffff9a”。我只想要结果“ffffff9a”中的“9a”值。我试过了,但没有用。
byte a = (byte) b & 0xff;
其中 b 的值为“ffffff9a”字节值。
但是在显示相同的过程时,就像
System.out.println(Integer.toHexString(b & 0xff));
我哪里出错了?我该怎么做才能获得我想要的价值?
谢谢
实际上我正在尝试将 8 位字符转换为 gsm 7 位。另外,如果有人可以帮助我解决这个问题,那也会很有帮助。字符串存储为字节数组,我必须将此字符串或 8 位字节转换为 7 位。
【问题讨论】:
-
您的代码对我来说看起来不错,请仔细检查您是否正确测试它?也许展示整个例程? 'b' 也是字节类型吗?
-
我觉得很好
System.out.println(Integer.toHexString(0xffffff9a & 0xff));prints9aideone.com/ikxuO -
是 b 是字节类型,打印很好,我想将值存储在变量中,问题出在哪里
标签: java byte masking bitwise-and