abs()没有在Xcode上工作?

时间:2013-02-27 10:58:06

标签: c xcode

我从标准库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];

    }
...

1 个答案:

答案 0 :(得分:7)

您需要使用

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