【发布时间】:2011-03-10 09:18:42
【问题描述】:
我有一个 short 数组,其值介于 0 和 short 的最大值之间。我缩放数据(将其显示为 TYPE_USHORT),以便生成的短值介于 0 和 65535 之间。我需要打印一些缩放值,但不知道如何打印。数据位于数组和 BufferedImage 中。
【问题讨论】:
标签: java unsigned short ushort
我有一个 short 数组,其值介于 0 和 short 的最大值之间。我缩放数据(将其显示为 TYPE_USHORT),以便生成的短值介于 0 和 65535 之间。我需要打印一些缩放值,但不知道如何打印。数据位于数组和 BufferedImage 中。
【问题讨论】:
标签: java unsigned short ushort
最简单的方法是转换成int:
short s = ...;
int i = s & 0xffff;
位掩码是为了让转换给出一个 0-65535 范围内的值,而不是 -32768-32767。
【讨论】:
Short.toUnsignedInt()。
从 Java 1.8 开始,Short.toUnsignedInt 也可以这样做:
System.out.println("signed s=" + s + ", unsigned s=" + Short.toUnsignedInt(s))
【讨论】: