CPP Data Types
Created: November 18, 2018 by [lek-tin]
Last updated: November 18, 2018
Type | Typical Bit Width | Typical Range |
---|---|---|
char | 1byte | -127 to 127 or 0 to 255 |
unsigned char | 1byte | 0 to 255 |
signed char | 1byte | -127 to 127 |
int | 4bytes | -2147483648 to 2147483647 |
unsigned int | 4bytes | 0 to 4294967295 |
signed int | 4bytes | -2147483648 to 2147483647 |
short int | 2bytes | -32768 to 32767 |
unsigned short int | Range | 0 to 65,535 |
signed short int | Range | -32768 to 32767 |
long int | 4bytes | -2,147,483,648 to 2,147,483,647 |
signed long int | 4bytes | same as long int |
unsigned long int | 4bytes | 0 to 4,294,967,295 |
float | 4bytes | +/- 3.4e +/- 38 (~7 digits) |
double | 8bytes | +/- 1.7e +/- 308 (~15 digits) |
long double | 8bytes | +/- 1.7e +/- 308 (~15 digits) |
wchar_t | 2 or 4 bytes | 1 wide character |
printf
format for different data types:
%d
: int
%u
: unsigned int
%ld
: long int
%lu
: unsigned long int
%lld
: long long int
%llu
: unsigned long long int
32-bit
number range:
#include <iostream>
#include <bitset>
using namespace std;
int main()
{
int min = 1 << 31;
int max = (1 << 31) - 1;
int minus_1 = -1;
int zero = 0;
cout<< std::bitset<32>(min);
cout<< "\n";
cout<< std::bitset<32>(max);
cout<< "\n";
cout<< std::bitset<32>(minus_1);
cout<< "\n";
cout<< std::bitset<32>(zero);
// Ouput
// 10000000000000000000000000000000
// 01111111111111111111111111111111
// 11111111111111111111111111111111
// 00000000000000000000000000000000
return 0;
}