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

JavaScriptで2進数を10進数に変換する方法をわかりやすく解説

JavaScriptで2進数を10進数に変換するには?

プログラミングにおいて、2進数と10進数の相互変換はよく使われる処理の一つです。JavaScriptでは、組み込みメソッドを使えば簡単に変換できます。この記事では、代表的な2つの方法をコード例とともに紹介します。

方法1:parseInt()関数を使う(最も簡単)

最もシンプルな方法は、parseInt()関数を使用することです。第1引数に2進数の文字列、第2引数に基数「2」を指定します。

const binary = "1010";
const decimal = parseInt(binary, 2);
console.log(decimal); // 出力結果:10

この例では、2進数の「1010」が10進数の「10」に変換されます。第2引数の基数指定により、文字列が2進数として解釈される点がポイントです。

方法2:ループ処理で手動変換する

変換の仕組みを理解したい場合は、ループ処理を使って手動で計算する方法もあります。各桁の値に2のべき乗を掛けて合計します。

function binaryToDecimal(binaryStr) {
  let decimal = 0;
  for (let i = 0; i < binaryStr.length; i++) {
    decimal = decimal * 2 + Number(binaryStr[i]);
  }
  return decimal;
}

const result = binaryToDecimal("1010");
console.log(result); // 出力結果:10

左の桁から順に処理し、それまでの合計を2倍しながら現在の桁の値を加算していくことで、効率的に変換できます。

注意点

  • 無効な文字列に注意: 2進数以外の文字(例:「2」「a」など)が含まれている場合、parseInt()は途中までしか解析せず、予期しない結果になることがあります。
  • 入力チェックを行う: 変換前に正規表現 /^[01]+$/ などで入力値が有効な2進数かどうか確認すると安全です。
  • 大きな数値の扱い: 非常に長い2進数文字列を扱う場合、BigInt型の使用も検討しましょう。

まとめ

JavaScriptで2進数を10進数に変換するなら、parseInt(文字列, 2)を使うのが最も簡単で実用的です。学習目的や仕組みの理解には、ループによる手動変換にも挑戦してみてください。状況に応じて適切な方法を選びましょう。

  1. JavaScriptで小数を検証するには?正規表現を使った実装例を解説

    JavaScriptで小数を検証する方法 JavaScriptで、ユーザーが入力した値が正しい小数(小数点を含む数値)かどうかを判定したい場面はよくあります。そんなときに便利なのが正規表現です。本記事では、match()メソッドと正規表現を組み合わせて、入力値が小数かどうかを検証する方法を、具体的なコード例とともにわかりやすく解説します。 使用する正規表現パターン 今回の検証では、以下の正規表現を使用します。 /^[-+]?[0-9]+\.[0-9]+$/ このパターンの各要素の意味は次のとおりです。 ^[-+]?:文字列の先頭に符号(+ または -)が付いていても、付いていなくてもマッチ

  2. C#で10進数を2進数に変換する方法をわかりやすく解説

    はじめにC#のプログラミングにおいて、10進数を2進数に変換する処理は、アルゴリズムの基礎を学ぶうえで非常に重要なテーマです。本記事では、除算演算子(/)と剰余演算子(%)を使った基本的な変換方法を、サンプルコードとともに詳しく解説します。10進数から2進数への変換の手順例として、10進数の「48」を2進数に変換してみましょう。変換の基本手順は以下のとおりです。対象の数値を2で割るその際の剰余(% 演算の結果)を記録する商(/ 演算の結果)が1以上である限り、同じ処理を繰り返すこれをコードで表現すると、次のようになります。decVal = 48; while (decVal >= 1)