首頁 >web前端 >html教學 >如何在JavaScript中將二進位轉換為十進位?

如何在JavaScript中將二進位轉換為十進位?

王林
王林轉載
2023-08-26 14:21:172051瀏覽

如何在JavaScript中將二進位轉換為十進位?

在本教學中,我們將學習在 JavaScript 中將二進位轉換為十進位。二進制數用於數位電子產品。它是由‘0’‘1’組成的字串,表示相對於基底數2的數字。

以下是將二進制數轉換為十進制數的不同方法。

使用 parseInt() 方法

在 JavaScript 中,parseInt() 方法對於從字串中提取數字非常有用。我們可以將數字的基數定義為 parseInt() 方法中的參數。

文法

使用者可以依照下列語法使用parseInt()方法將二進位轉換為十進位。

let binary = "0101";
let output = parseInt(binary, base);

參數

  • binary - 它是二進制數的字串。

  • base - 它是二進位字串的基礎。在我們的例子中,我們將傳遞基數“2”,因此它從字串中提取二進制數並將其轉換為十進制。

範例

在下面的範例中,我們使用了parseInt()方法。我們已將二進位字串和基數 2 作為 parseInt() 方法的參數傳遞。我們已經針對不同的二進位字串評估了我們的方法。使用者可以看到我們渲染了二進位字串的十進制的輸出。

<html>
<head>
   <title>Convert Binary to decimal in JavaScript.</title>
</head>
<body>
   <h2>Convert Binary to decimal using <i> parseInt() </i> method.</h2>
   <h4>The decimal of 0101 is.</h4>
   <div id = "decimal1"> </div>
   <h4>The decimal of 1100011110001 is.</h4>
   <div id = "decimal2"> </div>
   <script>
      let decimal1 = document.getElementById("decimal1");
      let decimal2 = document.getElementById("decimal2");
      let binary = "0101";
      decimal1.innerHTML = parseInt(binary, 2); // we have given based to extract the binary and convert it into the integer
      binary = "1100011110001";
      decimal2.innerHTML = parseInt(binary, 2);
   </script>
</body>
</html>

建立自訂函數以將二進位轉換為十進位

在本節中,我們將建立自訂函數以將二進制數轉換為十進制數。我們將使用 Math.pow() 函數。通常,二進制數表示為2s的冪。

我們透過下面的例子來理解一下。 ‘110’是二進位字串,我們可以用十進位表示如下。

'110' = 1*22 + 1*21 + 0*20 = 6 (In decimal)

因此,用戶已經了解如何將二進制轉換為十進制,並且我們將在程式碼中應用 thing 方法。

文法

let decimal = 0;
let l = binary.length;
for (let i = l - 1; i >= 0; i--) {
   if ( binary[i] == '1' )
   decimal += Math.pow( number ,power );// add power of 2 in the decimal if character of binary string is 1.
}

參數

math.pow() 函數有兩個參數。

  • number - 這是使用者想要計算冪的數字。在我們的例子中,它是固定的,即 2。

  • power - 這是第一個參數的冪。我們將使用 for 迴圈傳遞不同的值來獲得 2 的不同冪。

範例

在此範例中,我們建立了將二進位轉換為十進位的函數。在函數內部,我們從最後一個字元開始迭代二進位字串的每個字元。

如果我們在二進位字串中得到“1”,我們將使用 decimal 變數中的 Math.pow() 函數根據字元位置添加 2 的冪。當我們在二進位字串中得到「0」時,我們不會儲存任何值,因為當我們將 2 的冪與 0 相乘時,它會傳回零。

<html>
<head>
   <title>Convert Binary to decimal in JavaScript.</title>
</head>
<body>
   <h2>Convert Binary to decimal in JavaScript using the <i> Math.pow() </i> method.</h2>
   <h4>The decimal of 101000 is.</h4>
   <div id = "decimal1"></div>
   <h4>The decimal of 11101010101 is.</h4>
   <div id = "decimal2"></div>
   <script>
      let decimal1 = document.getElementById("decimal1");
      let decimal2 = document.getElementById("decimal2");
      function DecimalToBinary( binary ) {
      let decimal = 0;
      let l = binary.length;
      for (let i = l - 1; i >= 0; i--) {
         if ( binary[i] == '1' )
         decimal += Math.pow( 2, l - 1 - i );
      }
      return decimal;
      }
      decimal1.innerHTML = DecimalToBinary( "101000" );
      decimal2.innerHTML = DecimalToBinary( "11101010101" );
   </script>
</body>
</html>

在本教學中,我們使用了parseInt()方法將二進位轉換為十進位。此外,我們還建立了一個自訂函數。使用者可以根據自己的理解選擇其中一種方式。

但是,第二種方法的時間複雜度較高。所以,最好使用第一種方法。

以上是如何在JavaScript中將二進位轉換為十進位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除