整数型について

整数型について

一般的に整数型は「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;
}