如何在JavaScript中将二进制转换为十进制?

王林
发布: 2023-08-26 14:21:17
转载
2027 人浏览过

如何在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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板