C++ program for printing the range data type like int, char, short.
Signed Data Types
METHOD 1.) calculate total number of bits by multiplying sizeof with 8 (say n) 2.) Calculate -2^(n-1) for minimum range 3.) Calculate (2^(n-1))-1 for maximum range
// CPP program to calculate // range of signed data type #include <bits/stdc++.h> #define SIZE(x) sizeof(x) * 8 using namespace std;
// function to calculate range of //unsigned data type void printSignedRange( int count)
{ int min = pow (2, count - 1);
int max = pow (2, count - 1) - 1;
printf ( "%d to %d" , min * (-1), max);
} // DRIVER program int main()
{ cout << "signed char: " ;
printSignedRange(SIZE( char ));
cout << "\nsigned int: " ;
printSignedRange(SIZE( int ));
cout << "\nsigned short int: " ;
printSignedRange(SIZE( short int ));
return 0;
} |
Output:
signed char: -128 to 127 signed int: -2147483648 to 2147483647 signed short int: -32768 to 32767
Unsigned Data Types
METHOD 1.)Find number of bits by multiplying result of sizeof with 8 say n 2.)minimum range is always zero for unsigned data type 3.)for maximum range calculate 2^n-1
// CPP program to calculate range // of given unsigned data type #include <bits/stdc++.h> #define SIZE(x) sizeof(x) * 8 using namespace std;
// function to calculate range // of given unsigned data type void UnsignedRange( int count)
{ // calculate 2^number of bits
unsigned int max = pow (2, count) - 1;
cout << "0 to " << max;
} // DRIVER program int main()
{ cout << "unsigned char: " ;
UnsignedRange(SIZE(unsigned char ));
cout << "\nunsigned int: " ;
UnsignedRange(SIZE(unsigned int ));
cout << "\nunsigned short int: " ;
UnsignedRange(SIZE(unsigned short ));
return 0;
} |
Output:
unsigned char: 0 to 255 unsigned int: 0 to 4294967295 unsigned short int: 0 to 65535