在Java中将类型的浮点数组合成一系列短路

时间:2014-05-07 02:34:53

标签: java

如何将浮点数组的类型转换更改为一对一的短裤阵列?即。

int bufferSize = 256;
short[] myShort = new short[bufferSize];
float[] myFloat = new float[bufferSize];
for(int i=0;i<bufferSize;i++){
     myShort[i] = (short) myFloat[i];
 }

我正在寻找更紧凑,更简单的代码。我的处理时间非常短暂(没有双关语)。

2 个答案:

答案 0 :(得分:4)

我会保持原样。 Java标准库中没有其他方法可以做到这一点。

答案 1 :(得分:-2)

如果效果最重要,我建议使用JNI(Java Native Interface)

很快,在C / C ++中编写此函数,并使用本机方法调用它。

从float到short的转换使用2个JVM指令:f2i,i2s,它们将使用许多汇编指令。使用本机方法,您可以使用特殊的cpu指令(SSE?)非常快速地完成此操作。

here讨论浮点数到整数转换。