我从标准库abs() 中得到的值不正确。 在下面的示例中,最小值和最大值被正确评估为 -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/