10進数を2進数に変換することは、プログラミングにおける一般的なタスクです。JavaScriptは、この変換を効率的に実行する方法を提供しており、この記事では2つの主要な方法を解説します。
目次
JavaScriptによる手動での2進数変換
基礎となるアルゴリズムを理解することは、プログラミングスキルの向上に役立ちます。このセクションでは、10進数を2進数表現に変換するカスタム関数を示します。このアルゴリズムは、数を2で繰り返し割り、剰余を記録して2進数文字列を構築します。
function decimalToBinary(decimal) {
if (decimal === 0) return "0";
let binary = "";
let temp = decimal;
while (temp > 0) {
binary = (temp % 2) + binary;
temp = Math.floor(temp / 2);
}
return binary;
}
// 例
console.log(decimalToBinary(10)); // 出力: 1010
console.log(decimalToBinary(255)); // 出力: 11111111
console.log(decimalToBinary(0)); // 出力: 0
この関数は0の場合を処理し、商が0になるまで入力値を繰り返し割ります。各剰余(0または1)はbinary
文字列の先頭に付け加えられ、2進数表現が構築されます。
toString(2)
を使った効率的な2進数変換
JavaScriptの組み込みメソッドtoString(2)
は、簡潔で効率的なソリューションを提供します。このメソッドは、数値を直接2進数文字列表現に変換します。
function decimalToBinaryFast(decimal) {
return decimal.toString(2);
}
// 例
console.log(decimalToBinaryFast(10)); // 出力: 1010
console.log(decimalToBinaryFast(255)); // 出力: 11111111
console.log(decimalToBinaryFast(0)); // 出力: 0
toString(2)
メソッドは基数(底)を引数として受け取ります。これを2に設定すると、2進数変換が指定されます。この方法は、手動の方法よりもはるかに高速で可読性が高いです。
結論として、手動変換プロセスを理解することは学習には価値がありますが、組み込みのtoString(2)
メソッドは、ほとんどの実用的なシナリオにおいて、その効率性と可読性から推奨されるアプローチです。