ロングロング整数とは?
VBA(Visual Basic for Applications)における「ロングロング整数 (LongLong)」は、整数型のデータ型の一つです。通常、整数型には「Long」型がありますが、LongLong型はその拡張で、さらに大きな数値を扱うことができます。
LongLong型は64ビットの整数を格納することができ、通常の「Long」型の32ビット整数よりも広い範囲の数値を扱えます。
LongLong型の範囲は、-9,223,372,036,854,775,808から9,223,372,036,854,775,807までです。この範囲は、標準の「Long」型よりも遥かに大きな数値を扱えるため、大きなデータを扱う際に非常に便利です。
LongLong型の特徴
LongLong型の主な特徴として、以下の点が挙げられます:
- 64ビット整数: LongLong型は64ビットの整数を格納できます。これにより、非常に大きな整数を扱うことが可能です。
- 符号付き: LongLong型は符号付き整数なので、負の値も扱うことができます。
- 整数型の範囲: LongLong型は、最大で約9京(10の18乗)の数値まで格納できます。
LongLong型の使い方
LongLong型を使うには、変数宣言時に「LongLong」を指定します。以下の例を見てみましょう。
Dim largeNumber As LongLong
largeNumber = 9223372036854775807
この例では、変数「largeNumber」に最大値である9223372036854775807を代入しています。この数値は、Long型では扱えない範囲ですが、LongLong型では問題なく格納できます。
また、LongLong型は、計算を行う際にも活躍します。例えば、大きな数同士の足し算や掛け算も問題なく行えます。
Dim result As LongLong
result = largeNumber + 1000000
Debug.Print result
LongLong型の例
以下に、LongLong型を使用したいくつかの具体的な例を示します。
例1: 大きな数の加算
Dim num1 As LongLong
Dim num2 As LongLong
Dim sum As LongLong
num1 = 9223372036854775807
num2 = 1000000000000000000
sum = num1 + num2
Debug.Print sum
このコードでは、LongLong型の変数「num1」と「num2」を使って大きな数値を加算しています。加算結果はLongLong型で正常に格納され、コンソールに出力されます。
例2: 負の数の使用
Dim negativeNum As LongLong
negativeNum = -9223372036854775807
Debug.Print negativeNum
LongLong型は符号付き整数なので、負の数も問題なく扱うことができます。この例では、負の最大値に近い数を「negativeNum」に代入し、出力しています。
例3: LongLong型の計算
Dim largeProduct As LongLong
largeProduct = 1000000000000000000 * 1000000000000000000
Debug.Print largeProduct
非常に大きな掛け算の例です。LongLong型を使用すると、こうした大きな数値の計算も安全に行えます。
LongLong型と他のデータ型との違い
VBAには、他にもさまざまな整数型が存在しますが、LongLong型はその中で最も大きな範囲を持っています。次に、LongLong型と他の代表的な整数型との違いを比較してみましょう。
Long型との違い
Long型は32ビット整数で、-2,147,483,648から2,147,483,647までの範囲を扱います。これに対して、LongLong型は64ビット整数で、もっと広い範囲の数値を扱うことができます。
Dim smallNumber As Long
smallNumber = 2147483647 ' Long型の最大値
Debug.Print smallNumber
Long型は最大で約21億までの数しか扱えませんが、LongLong型は9京まで扱えます。
Integer型との違い
Integer型は16ビット整数で、-32,768から32,767までの範囲を扱います。これは非常に小さな範囲なので、大きな数を扱うには向いていません。
Dim smallInteger As Integer
smallInteger = 32767 ' Integer型の最大値
Debug.Print smallInteger
以上のように、LongLong型は非常に大きな整数を取り扱うことができるため、データベースや大規模な計算処理において非常に便利なデータ型です。