JavaScript Tutorials

JavaScriptによる効率的な10進数から2進数への変換

Spread the love

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)メソッドは、ほとんどの実用的なシナリオにおいて、その効率性と可読性から推奨されるアプローチです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です