abs() in C++

Overview
The abs() function in C++ returns the absolute value of an integer number. The absolute value of a negative number is multiplied by -1, but the absolute value of positive numbers and zero is that number itself. The absolute value is similar to modulus operator in Mathematics: abs(num) = |num|. The abs in C++ is described in <cstdlib> header file.
Transform Your Career
Choose from our industry-leading programs designed for career success
Modern Software and AI Engineering Program
Master full-stack development with AI integration
+1000 moreModern Data Science and ML with specialisation in AI
Advanced data science techniques with AI specialization
+1000 moreAdvanced AIML with Specialisation in Agentic AI
Deep dive into AIML with focus on Agentic systems
+1000 moreDevOps, Cloud & AI Platform Engineering
Build and manage AI-powered cloud infrastructure
+1000 moreAI Engineering Advanced Certification by IIT-Roorkee
Premier AI engineering certification from IIT-Roorkee
Syntax of abs() in C++
The syntax of abs in C++ is:
Parameters of abs() in C++
The abs in C++ take only one parameter, but it can be of three data types:
- int
- long int
- long long int
Return Values of abs() in C++
- The abs() in C++ return the absolute value of a number.
- The data type of returned value by abs in C++ will be equal to the data type of the argument passed, which means it could be int, long int, or long long int.
Example for abs() in C++
Output:
Explanation
- As we have discussed, abs() in C++, return the absolute value of the value passed. In the above code, for integer number num = -42, the absolute value of -42= |-42| = 42, so abs(-42) will return 42.
- For integer number num1 = 42, the absolute value of 42 = |42| = 42, so abs(42) will return 42.
- For integer number num2 = 0, the absolute value of 0 = |0| = 0, absolute value of 0 is 0, so abs(0) will return 0.
abs() Prototypes
There are the following three prototypes of abs in C++.
- If the num passed is of int type, then the return will be of int type.
- If the num passed is of long type, then the return will be of long type.
- If the num passed is of long long type, then the return will be of long long type.
Scaler Placement Report and Statistics
Scaler learners achieved 2.5x salary growth with average post-Scaler CTC reaching ₹23L.
Exceptions of abs() in C++
No-throw guarantee: this function throws no exceptions.
If the result cannot be represented by the returned type in an implementation with two's complement signed values, it causes undefined behavior.
For Example: abs is called on INT_MIN = -2147483648. The range of int in C++ is from -2147483648 to 2147483647. So if abs(-2147483648) is called, it will do (-1)*(-2147483648), which will result in it being out of range of int. Thus it will give undefined behavior.
What is cstdlib abs() in C++?
The abs() in C++ returns the absolute value of an integer number.
- If the number is negative, it will return the positive value (with the same magnitude), for example, abs(-1) = 1.
- If the number is already positive or zero, it will return the number as it is, for example, abs(1) = 1.
What is cstdlib fabs() in C++?
The fabs() in C++ returns the absolute value of a integer, float, or double-type value. In case of char type, it returns the ASCII code of that character.
- If the number is negative, it will return the positive value (with the same magnitude), for example, abs(-1) = 1.
- If the number is already positive or zero, it will return the number as it is, for example, abs(1) = 1.
Turn Learning into Career Growth
Example: fabs() with char input
Code
Output
Difference Between abs() and fabs() in C++
| abs() | fabs() |
|---|---|
| The abs() is used for integer data type. | The fabs() is used for int, float, double, and char data types. |
| The abs() function is described in <cstdlib> header file. | The fabs() function is described in <cmath> header file. |
The prototype of abs() in C++ is:
The prototype of fabs() in C++ is:
abs() Overloading
The abs() in C++ can be overloaded to be used for floating, complex types .
- cmath header file is to be included for floating-point types.
- complex header file is to be included for complex numbers.
Don't miss this chance to become a certified C++ expert. Enroll in our C++ online course and gain a competitive edge in the coding landscape.
Conclusion
-
The abs in C++ returns the absolute value of an integer number. The absolute value of a negative number is that number multiplied by -1, but the absolute value of positive numbers and zero is that number itself.
-
The abs() function is used to get the absolute value of int, long, and long long data types.
-
If abs() is called for INT_MIN = -2147483648. The excepted result will be 2147483648, which is not in the range of int in C++, that is, -2147483648 to 2147483647. Thus it will give undefined behavior and throw an overflow runtime error.
-
The fabs() is used to get the absolute value of int, float, and double values.




