C/C++ 中的 abs()、labs() 和 llabs() 函数


C 库中的整数函数是什么?

整数函数是指返回整数精确值的函数。C 语言只支持整数类型。在该函数中,返回小于或等于参数的最近整数。

整数函数的类型:

int = abs (int n);
long = labs (long n);
long long = llabs (long long n);

其中 n = 整数值

abs()、labs()、llabs() 函数是什么?

它们在 ``(C 标准通用工具库)头文件中定义。它们返回作为参数输入的整数的精确值。

**abs() 函数** - 在 C 中,输入类型为 'int',而在 C++ 中,输入类型为 'int'、'long int' 或 'long long int'。在 C 中,输出类型为 'int',而在 C++ 中,输出类型与输入类型相同。

基本上,abs 函数计算给定值的绝对值,即去除数字所有正负号后的值。这意味着它将始终返回正数。

例如:

abs(-43) 的输出为 43,因为它旨在去除负号。

abs(12) 的输出为 12,因为没有需要去除的符号。

示例

 在线演示

#include <cstdlib>
#include <iostream>
using namespace std;
int main() {
   int a = abs(123);
   int b = abs(-986);
   cout << "abs(123) = " << a << "\n";
   cout << "abs(-986) = " << b << "\n";
   return 0;
}

输出

abs(123) = 123
abs(-986) = 986

**labs() 函数** - 在此函数中,输入和输出的类型均为 long int,它是 abs() 函数的 long int 版本。

该函数与 abs() 相同,即去除数字的负号,但区别在于此方法可以处理较长的值。

例如:

labs(245349384932L) = 245349384932

labs(-34235668687987) = 34235668687987

示例

 在线演示

#include <cstdlib>
#include <iostream>
using namespace std;
int main() {
   long int a = labs(437567342L);
   long int b = labs(-8764523L);
   cout << "labs(437567342L) = " << a << "\n";
   cout << "labs(-8764523L) = " << b << "\n";
   return 0;
}

输出

labs(437567342L) = 437567342
labs(-8764523L) = 8764523

**llabs() 函数** - 在此函数中,输入和输出的类型均为 long long int,它是 abs() 函数的 long long int 版本。

示例

 在线演示

#include <cstdlib>
#include <iostream>
using namespace std;
int main() {
   long long int a = llabs(9796546325253547656LL);
   long long int b = llabs(-1423446557676111567LL);
   cout << "llabs(9796546325253547656LL) = " << a << "\n";
   cout << "llabs(-1423446557676111567LL) = " << b << "\n";
   return 0;
}

输出

llabs(9796546325253547656LL) = 9796546325253547656
llabs(-1423446557676111567LL) = 1423446557676111567

更新于:2019年10月4日

1K+ 次浏览

启动您的 职业生涯

完成课程获得认证

开始学习
广告