<cstdlib> (C++) / <stdlib.h> (C) में विभिन्न इंटीजर टाइप्स के लिए एब्सोल्यूट वैल्यू फंक्शन्स उपलब्ध हैं।
फंक्शन तुलना
| फंक्शन | हेडर | पैरामीटर टाइप | रिटर्न टाइप | मानक |
|---|---|---|---|---|
abs | stdlib.h / cstdlib | int | int | C, C++ |
labs | stdlib.h / cstdlib | long | long | C, C++ |
llabs | stdlib.h / cstdlib | long long | long long | C99, C++11 |
fabs | math.h / cmath | double | double | C, C++ |
fabsf | math.h / cmath | float | float | C99, C++11 |
fabsl | math.h / cmath | long double | long double | C99, C++11 |
उदाहरण: abs() - int के लिए
#include <cstdlib>
#include <iostream>
using namespace std;
int main() {
int x = -145, y = 145;
cout << "abs(-145) = " << abs(x) << endl;
cout << "abs(145) = " << abs(y) << endl;
return 0;
}
उदाहरण: labs() - long के लिए
#include <cstdlib>
#include <iostream>
using namespace std;
int main() {
long x = -9256847L, y = 9256847L;
cout << "labs(-9256847L) = " << labs(x) << endl;
cout << "labs(9256847L) = " << labs(y) << endl;
return 0;
}
उदाहरण: llabs() - long long के लिए
#include <cstdlib>
#include <iostream>
using namespace std;
int main() {
long long x = -99887654321LL, y = 99887654321LL;
cout << "llabs(-99887654321LL) = " << llabs(x) << endl;
cout << "llabs(99887654321LL) = " << llabs(y) << endl;
return 0;
}
आउटपुट
abs(-145) = 145 abs(145) = 145 labs(-9256847) = 9256847 labs(9256847) = 9256847 llabs(-99887654321) = 99887654321 llabs(99887654321) = 99887654321
नोट
- C++ में
absओवरलोडेड है औरlong,long long, फ्लोटिंग-पॉइंट टाइप्स के लिए भी काम करता है (<cstdlib>,<cmath>)। - सबसे नेगेटिव मान (जैसे
INT_MIN) का एब्सोल्यूट वैल्यू रिप्रेजेंट नहीं किया जा सकता - अनडिफाइंड बिहेवियर।