Abs函数
编程术语
abs 函数是存在于多种编程语言(包括且不限于:C语言、C++、Fortran、Matlab、Pascal、Delphi、Visual BasicVBA)中的一种用于求数据绝对值的函数。
应用语言
C语言
函数名: abs
功 能: 求整数的绝对值
函数原型:int abs(int i);
程序例:
#include
#include
int main(void)
int number = -1234;
return 0;
在 C 语言中还有fabs,也是求绝对值的,不同的是,fabs 函数参数与返回值为实型。
C++
C++ 也有 abs 函数。但是,在 C++ 中使用 abs 函数要注意存在两种版本,一种是在 stdlib.h 中定义的版本,另一个是在 iostream 或 cmath 头文件中定义的。事实上,在 stdlib.h 文件中定义的是 C 的函数,而 cmath 中的是C++版本。这两种版本有明显的差别:
根据 ISO C/C++ 的标准规定,C 语言的 abs 函数仅仅支持整数的绝对值计算(返回值为整型),必须使用 fabs 才能获得浮点数的绝对值;C++的 abs 则可以自然支持对整数和浮点数两个版本(实际上还能够支持复数),如果参数是整数类型,则返回值为相应的整数类型,如果参数为浮点数,则返回值为相应的浮点数类型。
如果在 C++ 程序中,由于头文件关系,不慎使用了 C 版本的 abs 函数,并且输入的是一个有小数的浮点数,那么其行为就可能不符合程序员的预期了,因为在传入函数参数时,浮点数会用截断的方式转换为整数。而使用 C++ 版本的 abs 函数时,则需要注意返回值类型(如果用 printf 进行输出,需要使用正确的格式化输出参数)。
因此,通常建议在C++中使用 fabs 函数(必要时进行强制类型转换),而不要使用 abs 函数为好。
FORTRAN
绝对值函数 abs,可以输入的参数类型为 integer, real, or complex;
格式:abs(数值表达式)
功能:求表达式绝对值
说明:函数返回值类型与数值表达式的数据类型相同
例如:abs(-3.7),其值为3.7。
iabs只能输入 INTEGER(4) 类型 ,返回类型 INTEGER(4)
Pascal (Delphi)
Abs返回参数的绝对值。语法:
Function Abs (r:Real):Real;
Function Abs (r:Integer):Integer;
函数结果类型与参数类型(Real 或 Integer)相同。
Matlab
求复数实部虚部的平方和的算术平方根
格式:abs(x)
例如:x=1+j;
y=abs(x);
y=1.4142
描述
返回数字的绝对值。
语法:
Abs(number)
number 参数不能是任意的,不能是浮点数或者双精度运算数值表达式,如果 number 包含 Null,则返回 Null;如果是未初始化变量,则返回 0。
说明
数字的绝对值是其无符号的数值大小。例如,Abs(-1) 和 Abs⑴ 都返回 1。
而对于在matlab中相似的函数double,double(-1)则返回-1,也就是说abs(X)返回的是X的绝对值(absolute),而double(X)返回的则是X的精确值(precision value)
在matlab中有时会遇到函数abs(1,x)这样的函数,这个比一般abs多一个输入量。它表示函数abs(x)的导数。
Visual Basic(VB)
绝对值函数Abs
格式:Abs(<数值表达式>)
功能:求表达式绝对值
说明:函数返回值类型与数值表达式的数据类型相同
例如:Abs(-3.7),其值为3.7。Abs(0.7),其值为0.7。
C语言中的 abs 有区别。
EXCEL VBA
abs 函数返回数字的绝对值。绝对值没有符号。
函数语法
ABS(number)
Number 为需要计算其绝对值的实数或单元格位置。
示例
公式示例 计算结果
=ABS⑵ 2 的绝对值⑵
=ABS(-2) -2 的绝对值⑵
=ABS(A2)单元格A2的绝对值
如果 number 参数不是数值,而是一些字符,则在单元格中返回错误值 “#VALUE” 或者 #NAME?。
参考资料
万方数据知识服务平台.万方数据知识服务平台.
最新修订时间:2024-10-29 22:49
目录
概述
应用语言
参考资料