如何在Java中将短整作为无符号短路打印

2022-09-02 23:00:08

我有一个空头数组,其值范围介于 0 和空头的最大值之间。我缩放数据(将其显示为TYPE_USHORT),以便生成的短值范围在 0 到 65535 之间。我需要打印一些缩放值,但不知道如何打印。数据位于数组和 BufferedImage 中。


答案 1

最简单的方法是转换为 int:

short s = ...;
int i = s & 0xffff;

位掩码是使转换给出一个介于 0-65535 范围内的值,而不是 -32768-32767。


答案 2

从Java 1.8开始,可以使用以下命令完成相同的操作:Short.toUnsignedInt

System.out.println("signed s=" + s + ", unsigned s=" + Short.toUnsignedInt(s))

推荐