ソフトウェア開発において、特にファイルサイズ、ネットワークデータ、ストレージ容量を扱う際には、バイトとギガバイト間の理解と変換が不可欠です。しかし、重要な違いがあります。それは、10進数(10進法)と2進数(2進法)のシステムの使用です。この記事では、その違いを明確にし、両方の変換のためのJavaScript関数を提供します。
目次
10進変換 (GB)
10進数システムでは、キロ(k)、メガ(M)、ギガ(G)などの接頭辞は10の累乗を表します。
- 1キロバイト (KB) = 103 バイト = 1,000 バイト
- 1メガバイト (MB) = 106 バイト = 1,000,000 バイト
- 1ギガバイト (GB) = 109 バイト = 1,000,000,000 バイト
JavaScriptでバイトをギガバイト(GB)に変換するには、バイト数を109で割ります。
function bytesToGigabytesDecimal(bytes) {
if (bytes < 0) {
throw new Error("バイト数は負数にできません。");
}
return bytes / Math.pow(10, 9);
}
// 使用例:
console.log(bytesToGigabytesDecimal(1000000000)); // 出力: 1
console.log(bytesToGigabytesDecimal(2500000000)); // 出力: 2.5
console.log(bytesToGigabytesDecimal(1073741824)); //出力: 1.073741824
2進変換 (GiB)
多くのハードウェアメーカーやストレージシステムは、接頭辞が2の累乗を表す2進数システムを使用しています。
- 1キビバイト (KiB) = 210 バイト = 1024 バイト
- 1メビバイト (MiB) = 220 バイト = 1,048,576 バイト
- 1ギビバイト (GiB) = 230 バイト = 1,073,741,824 バイト
JavaScriptでのギビバイト(GiB)への変換には、230で割る必要があります。
function bytesToGigabytesBinary(bytes) {
if (bytes < 0) {
throw new Error("バイト数は負数にできません。");
}
return bytes / Math.pow(2, 30);
}
// 使用例:
console.log(bytesToGigabytesBinary(1073741824)); // 出力: 1
console.log(bytesToGigabytesBinary(2147483648)); // 出力: 2
console.log(bytesToGigabytesBinary(5368709120)); // 出力: 5
適切な変換方法の選択
10進数(GB)と2進数(GiB)の変換の選択は、完全に文脈に依存します。オペレーティングシステムは多くの場合、2進単位(GiB)でストレージ容量を報告しますが、ネットワーク速度は10進単位(GB)で表される場合があります。適切な基数を確認するには、常に仕様書とドキュメントを確認してください。
正確な計算と明確なコミュニケーションには、正しい単位を使用することが不可欠です。GBとGiBを区別しないことは、特に大規模なデータセットを扱う場合に、大きな誤解につながる可能性があります。