整数型について
整数型について
一般的に整数型は「4byte」(= 32bit)の長さがある。そのため、232(4,294,967,296)通りの表現が可能になる!
そのため、正の値のみだと「0 ~ 4,294,967,295」の数値を扱う事ができる。しかし、普通は負の値も扱う事になる。その場合、「1bitを正負の識別」に使用するので、その場合は「-2,147,483,648 ~ 2,147,483,647」の数値を扱う事ができる。
符号(+-)がついた整数を「符号付き整数型(signed integer)」、正の値だけを扱う整数型を「符号なし整数型(unsigned integer)」と言う。
#include <iostream> #include <limits> using namespace std; int main() { cout << "unsigned integer: " << numeric_limits<unsigned>::min() << "~" << numeric_limits<unsigned>::max() << endl; // 0~4,294,967,295 cout << "signed integer" << numeric_limits<signed>::min() << "~" << numeric_limits<signed>::max() << endl; // -2,147,483,648~2,147,483,647 return 0; }
long型
int型の範囲を超える数を扱う場合、言語によるが「8byte」(=64bit)の長さを扱う事ができる。また、int型と同様に符号付きと符号なしの2種類を扱う事ができる。
#include <iostream> #include <limits> using namespace std; int main() { cout << "unsigned long int: " << numeric_limits<unsigned long>::min() << "~" << numeric_limits<unsigned long>::max() << endl; // 0~18,446,744,073,709,551,615 cout << "signed long integer" << numeric_limits<signed long>::min() << "~" << numeric_limits<signed long>::max() << endl; // -9,223,372,036,854,775,808~9,223,372,036,854,775,807 return 0; }