JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptで整数を2進数に変換する方法

JavaScriptで整数を2進数に変換する基本の考え方

JavaScriptで整数を2進数に変換するには、対象の整数を2で割り、その都度発生する余りを順番に記録していく方法が使われます。余りは必ず0か1になるため、計算が終わった後にこれらを逆順に並べると、元の整数の2進数表現が完成します。

なお、実際の開発では toString(2) メソッドを使えば1行で変換できますが、ここでは変換の仕組み(アルゴリズム)を理解できるよう、剰余演算を用いた実装例を紹介します。

サンプルコード

function convertDecimalToBinary(value) {
  var binaryValues = [];
  var counter = 0;
  while (value > 0) {
    binaryValues[counter++] = parseInt(value % 2);
    value = parseInt(value / 2);
  }
  for (var j = counter - 1; j >= 0; j--)
    process.stdout.write(binaryValues[j] + "");
}
convertDecimalToBinary(5);

プログラムの実行方法

上記のプログラムはNode.js環境で動作します。実行するには、ターミナルで以下のコマンドを入力してください。

node fileName.js

ここでは、ファイル名を「demo255.js」としています。

実行結果

コンソールには次のような出力が表示されます。

PS C:\Users\Amit\javascript-code> node demo255.js
101

このように、10進数の「5」は2進数では「101」に変換されて出力されます。処理の流れとしては、「5 ÷ 2 = 2 余り 1」「2 ÷ 2 = 1 余り 0」「1 ÷ 2 = 0 余り 1」という計算が繰り返され、余りの「101」を逆順に出力することで正しい2進数が得られます。

  1. JavaScriptで2進数の配列を対応する整数に変換する方法

    まず、0と1だけを含む数値の配列を用意します。const arr = [0, 1, 0, 1];ここでの課題は、配列に対して呼び出すと、その配列が表す2進数に対応する10進数の整数を返す関数 toBinary() を作成することです。例えば、配列が以下の場合を考えてみましょう。const arr = [1, 0, 1, 1];この場合の出力は 11 になるはずです。2進数「1011」の10進数表現が11だからです。それでは、この関数を実装していきましょう。方法1: parseInt() ライブラリメソッドを使うJavaScriptには parseInt() という組み込みメソッドがあります。こ

  2. JavaScriptで二分探索木(BST)に特定の値が存在するかどうかを判定する方法

    本記事では、BinarySearchTree(二分探索木)データ型のプロトタイプに、引数として渡された値がBST内に存在するかどうかを判定するJavaScript関数 contains を実装する方法を解説します。二分探索木における探索の仕組み二分探索木では、「左の子孫は親ノードより小さく、右の子孫は親ノードより大きい」という性質が成り立ちます。この性質を利用すると、1回の比較ごとに探索対象を左右どちらかに絞り込めるため、平均計算量 O(log n) で効率的に値を検索できます。実装例コードは以下の通りです。// class for a single Node for BST class No