C++转换优化

tmi*_*hty 12 c++ floating-point optimization performance

我想询问是否有更快的方法来进行音频转换,而不是逐个迭代所有值并将它们除以32768.

void CAudioDataItem::Convert(const vector<int>&uIntegers, vector<double> &uDoubles)
{
    for ( int i = 0; i <=uIntegers.size()-1;i++)
    {
        uDoubles[i] = uIntegers[i] / 32768.0;
    }
}
Run Code Online (Sandbox Code Playgroud)

我的方法很好,但它可以更快.但是我没有找到任何方法来加快速度.

感谢您的帮助!

Lee*_*ker 1

您也可以尝试:

uDoubles[i] = ldexp((double)uIntegers[i], -15);
Run Code Online (Sandbox Code Playgroud)