【发布时间】:2017-01-29 13:09:16
【问题描述】:
在 Java 中,我有以下代码:
byte lo = 0x88;
byte hi = 0x0;
short x = 0;
x |= lo;
x |= (short) ((short) hi << 8); // FIXME double cast ??
return x;
第一次操作后,short 中的值为0xff88。我理解这是因为 Java 不支持无符号数。
如何强制它忽略该标志?我没有直接在 Java 代码中使用这些数据,所以没关系,对吧?
【问题讨论】:
-
byte lo = 0x88;无法编译,其值超出了byte表示的数字范围。 -
@AR.3 我想知道如何避开这个标志。
-
您当前的代码无法编译。您能否提供一个完整的工作示例?