Open In App

Maximum value of unsigned long long int in C++

Improve
Improve
Like Article
Like
Save
Share
Report

In this article, we will discuss the unsigned long long int data type in C++. It is the largest (64 bit) integer data type in C++

Some properties of the unsigned long long int data type are:

  • An unsigned data type stores only positive values.
  • It takes a size of 64 bits.
  • A maximum integer value that can be stored in an unsigned long long int data type is 18, 446, 744, 073, 709, 551, 615, around 264 – 1(but is compiler dependent).
  • The maximum value that can be stored in unsigned long long int is stored as a constant in <climits> header file whose value can be used as ULLONG_MAX.
  • The minimum value that can be stored in unsigned long long int is zero.
  • In case of overflow or underflow of data type, the value is wrapped around. For example, if 0 is stored in an unsigned long long int data type and 1 is subtracted from it, the value in that variable will become equal to 18, 446, 744, 073, 709, 551, 615. Similarly, in the case of overflow, the value will round back to 0.

Below is the program to get the highest value that can be stored in unsigned long long int in C++:

C++




// C++ program to obtain the maximum
// value stored in unsigned long long int
#include <climits>
#include <iostream>
using namespace std;
  
// Driver Code
int main()
{
  
    // From the constant of climits
    // header file
    unsigned long long int valueFromLimits = ULLONG_MAX;
  
    cout << "Value from climits "
         << "constant: ";
    cout << valueFromLimits << "\n";
  
    // Using the wrap around property
    // of data types
  
    // Initialize a variable with value 0
    unsigned long long int value = 0;
  
    // Subtract 1 from value since an
    // unsigned data type cannot store
    // negative number, the value will
    // wrap around  and stores maximum
    // value stored in it
    value = value - 1;
    cout << "Value using the wrap"
         << " around property: "
         << value << "\n";
  
    return 0;
}


Output:

Value from climits constant: 18446744073709551615
Value using the wrap around property: 18446744073709551615


Last Updated : 03 Dec, 2020
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads