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+ 次瀏覽

啟動您的 職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.