我从标准库abs()中获取了不正确的值。
在下面的示例中,将min&max正确评估为-18635和3402,而absMax却得出了3402,因此应该为18635。这项工作还是我犯了一个错误?

double    NormalizeWaveData(SInt16 *inData, long inlength)
{
    int maxAmp = 0, minAmp=0, absMax=0;
    for(long i=0; i<inlength; i++)
    {
        if( inData[i] > maxAmp)
           maxAmp = inData[i];
        if( inData[i] < minAmp)
           minAmp = inData[i];

        if( abs(inData[i]) > absMax)
           absMax = inData[i];

    }
...

最佳答案

您需要使用

if( abs(inData[i]) > absMax)
       absMax = abs(inData[i]);

关于c - abs()在Xcode上不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15110327/

10-13 05:54