我需要读取16位的字节数组作为无符号短数,而Java不支持无符号短类型。
那我该怎么办?请帮忙!!
答案 0 :(得分:9)
假设您将其作为来自非Java源的二进制数据提供,您必须阅读并使用Java中的值:
将其作为(签名)short
阅读,然后将其转换为int
,如下所示:
int intVal = shortVal >= 0 ? shortVal : 0x10000 + shortVal
你不能用short表示unsigned short的所有值,但是在int中,你可以。
答案 1 :(得分:4)
我不知道你是否必须使用unsigned short,但是如果你不使用,你总是可以使用char来保持unsigned short。看一下这篇简单概述的文章
答案 2 :(得分:0)