C语言中abs和fbs的区别

Python011

C语言中abs和fbs的区别,第1张

1、输入参数类型不同:

ABS是绝对值函数的输入参数类型为整型,fabs函数的输入参数类型为浮点型。

2、输出参数类型不同:

ABS函数的输出参数类型为整型,fabs函数的输出参数类型为浮点型。

3、功能不同:

fabs函数功能为:求浮点数x的绝对值。ABS函数的功能为求整数的绝对值。

4、引用的头文件不同:

abs函数引用的头文件:stdlib.h,fabs函数引用的头文件为math.h。

扩展资料:

fbs函数的应用:

程序判数滤波采样的信号,如因常受到随机干扰传感器不稳定而引起严重失真时,可以采用此方法。

方法是:根据生产经验确定两交采样允许的最大偏差△×,若先后两次采样的信号相减数值大于△×,表明输入的是干扰信号,应该去掉;用上次采样值作为本次采样值,若小于、等于△×表明没有受到干,本次采样值效。该方法适用于慢变化的物理参数的采样,如温度、物理位置等测量系统。

程序判断滤波的C程序函数如下:

float program_detect_filter(float old_new_value[], float X){

float sample_value

if (fabs(old_new_value[1]_old_new_value[0])>X) sample_value=old_new_value[0]

else sample_value=old_new_value[1]

retrun(sample_value)

}

函数调用需一个一维的两个元素的数组(old_new_value[2],用于存放上次采样值(old_new_value[0],)和本次采样值(old_new_value[1]),函数中sample_value表示有效采样值,X表示根据根据经验确定的两次采样允许的最大偏差△×。

参考资料来源:百度百科-ABS

参考资料来源:百度百科-fabs函数

1.函数的头文件:#include <stdlib.h>

2.函数的原型:int abs (int j)

3.函数说明:abs()用来计算参数j 的绝对值,然后将结果返回。

4.返回值:返回参数j 的绝对值结果。

5.关于abs函数的实现:

(1)带if分支的利用补码特性:

正数的补码和原码相同;负数的补码是:补码=~(其正数的)原码+1。因此如果是负数求绝对值可以:(绝对值)原码=~(补码-1)

int _abs(signed int i)

{

if (i<0)

return ~(--i)

return i

}

(2)带if分支(判断分支)的传统想法:

正数保持原样,负数取反

int _abs(singed int p)

{

return p>0?p:-p

}

(3)不带if分支(判断分支)的位运算:

int __cdecl _abs(signed int i)

{

return ((i >>31) ^ i) - (i >>31)

}

C语言的库函数中提供了求绝对值的函数,函数名为 abs

函数的头文件:#include <stdlib.h>

函数原型:int abs (int j)

函数说明:abs()用来计算参数j 的绝对值,然后将结果返回。

返回值:返回参数j 的绝对值结果