【发布时间】:2013-03-11 17:33:48
【问题描述】:
我需要做的就是将一个无符号的两字节数组转换为一个整数。我知道,我知道,Java 没有无符号数据类型,但我的数字是假装无符号字节。
byte[] b = {(byte)0x88, (byte)0xb8}; // aka 35000
int i = (byte)b[0] << 8 | (byte)b[1];
问题是不能正确转换,因为它认为那些是有符号字节...如何将其转换回 int?
【问题讨论】:
-
转换为 int 然后进行移位。
-
它并没有真正复制。链接的问题大约是 2 个字节到 int 不是无符号字节。您可以推断您还必须从第一个答案中屏蔽第一个字节,但这一点都不明显。我不明白他们如何将此答案标记为重复。接受前是否经过检查?我们可以举报吗?
标签: java type-conversion byte