Java 当从短波到双波转换时,如何保存波形数据?

Java 当从短波到双波转换时,如何保存波形数据?,java,casting,double,fftw,short,Java,Casting,Double,Fftw,Short,我使用Java将数据从一个wave文件读入一个短数组,因为wave数据存储为16位的两个互补数字 我使用fftw从波形数据中提取频率信息,但它只接受双数组 因此,我认为我需要在将负数存储到双数组之前,将其添加到32768,在将负数存储到双数组之后,将其添加到32768。这对我来说似乎需要很大的cpu能力 这是保存fftw波形数据的正确方法吗?在保留波浪数据的同时,是否有更好的方法将短线转换为双打?贝因德在评论中给出了答案: “你有没有考虑过(双倍)短。toUnsignedInt(你的短);?”b

我使用Java将数据从一个wave文件读入一个短数组,因为wave数据存储为16位的两个互补数字

我使用fftw从波形数据中提取频率信息,但它只接受双数组

因此,我认为我需要在将负数存储到双数组之前,将其添加到32768,在将负数存储到双数组之后,将其添加到32768。这对我来说似乎需要很大的cpu能力


这是保存fftw波形数据的正确方法吗?在保留波浪数据的同时,是否有更好的方法将短线转换为双打?

贝因德在评论中给出了答案:


“你有没有考虑过(双倍)短。toUnsignedInt(你的短);?”

beundead在评论中给出了答案:


“你有没有考虑过(双)短。toUnsignedInt(你的短);?”

你有没有考虑过
(双)短。toUnsignedInt(你的短);”?有效。非常感谢。您是否考虑过
(双)Short.toUnsignedInt(您的Short)?有效。非常感谢。