BIGINT型 【big integer】
SQLでは表すことのできる値の範囲の異なるいくつかの整数型が用意されているが、BIGINT型は通常のINT型(4バイト)より広い範囲を表すことができる。符号付きの場合で-9,223,372,036,854,775,808~9,223,372,036,854,775,807(-263~263-1)、符号なし(UNSIGNED)の場合で0~18,446,744,073,709,551,615(264-1)となっている。
整数型の中では最も大きな、あるいは小さな値を表現できるが、その分データ量は8バイトと大きく記憶容量や処理時間を最も大きく消費する。
JavaScriptのBigInt型
JavaScriptで長い桁の整数を扱いたい場合に用いられるデータ型。ES2020標準で新たに採用された。
従来のJavaScriptで数値を表すNumber型に整数を格納する場合、Number . MAX_SAFE_INTEGER 定数として定義された253-1を超える値では精度を維持することができなかった(格納や演算は可能だが一部の桁の値が不正確になる)。
BigInt型は新たに導入された整数のみを表す数値型で、任意の桁の正負の整数を正確に保持、計算することができる。リテラルは「255n」のように整数の末尾に「n」を記載するか、BigInt(255) のように表記する。Number型が使える四則演算やビット演算など数値計算の機能は同じように使うことができる。
多くの言語で一般的な数値データ型とは異なり決まったビット数で表現されるわけではなく、プログラム中で宣言あるいは生成された値の長さに応じて必要な記憶容量を確保して値を格納する。コンピュータの性能や容量が許す限りいくらでも桁数を伸ばしていくことが可能である。
(2020.11.17更新)