将jshort转换为unsigned short

时间:2010-11-29 15:23:37

标签: java c java-native-interface opengl-es-2.0

我正在开发一个使用一些原生调用的Java程序。

您是否知道将jshort转换为unsigned short的简便方法?或者,我可以使用等效类型吗?

在原生代码中,我收到jshort值,我需要将此值用作GLushort

有什么建议吗?

感谢。

3 个答案:

答案 0 :(得分:1)

好吧,首先看wikipediajshort实际上是short(已签名),因此要转换它,您必须处理负值。

为什么不使用jchar因为它直接映射到unsigned short - 然后你可以直接投射。

jchar jC = ....;
GLushort s = (GLushort) jC;

答案 1 :(得分:1)

添加 & 0xFF 它!它使它无符号:D

答案 2 :(得分:0)

您可以在代码中转换为GLushort

jshort已签名的事实无关紧要,除非该参数实际上可用于保存负值您正在Java端进行算术或整数比较。