Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk menukar binari kepada perpuluhan dalam JavaScript?

Bagaimana untuk menukar binari kepada perpuluhan dalam JavaScript?

王林
王林ke hadapan
2023-08-26 14:21:172029semak imbas

Bagaimana untuk menukar binari kepada perpuluhan dalam JavaScript?

Dalam tutorial ini, kita akan belajar untuk menukar binari kepada perpuluhan dalam JavaScript. Nombor binari digunakan dalam elektronik digital. Ia adalah rentetan yang terdiri daripada ‘0’ dan ‘1’, mewakili nombor relatif kepada asas 2.

Berikut ialah cara berbeza untuk menukar nombor binari kepada nombor perpuluhan.

Gunakan kaedah parseInt()

Dalam JavaScript, kaedah parseInt() sangat berguna untuk mengekstrak nombor daripada rentetan. Kita boleh mentakrifkan asas nombor sebagai parameter dalam kaedah parseInt().

Tatabahasa

Pengguna boleh menggunakan kaedah parseInt() mengikut sintaks berikut untuk menukar binari kepada perpuluhan.

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

Parameter

  • binary - Ia adalah rentetan nombor binari.

  • asas - Ia adalah asas rentetan binari. Dalam kes kami, kami akan melepasi asas "2" supaya ia mengekstrak nombor binari daripada rentetan dan menukarkannya kepada perpuluhan.

Contoh

Dalam contoh di bawah, kami telah menggunakan kaedah parseInt(). Kami telah melepasi rentetan binari dan asas 2 sebagai hujah kepada kaedah parseInt(). Kami telah menilai pendekatan kami pada rentetan binari yang berbeza. Pengguna boleh melihat bahawa kami telah memberikan output perpuluhan bagi rentetan binari.

<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>

Buat fungsi tersuai untuk menukar binari kepada perpuluhan

Dalam bahagian ini, kami akan mencipta fungsi tersuai untuk menukar nombor binari kepada nombor perpuluhan. Kami akan menggunakan fungsi Math.pow(). Biasanya, nombor binari diwakili sebagai kuasa 2s.

Mari kita fahami melalui contoh berikut. '110' ialah rentetan binari, kita boleh mewakilinya dalam perpuluhan seperti berikut.

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

Jadi pengguna telah melihat cara menukar binari kepada perpuluhan dan kami akan menggunakan kaedah perkara dalam kod kami.

Tatabahasa

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.
}

Parameter

Fungsi

math.pow() mempunyai dua parameter.

  • nombor - Ini adalah nombor yang pengguna ingin tingkatkan. Dalam kes kami ia ditetapkan, iaitu 2.

  • kuasa - Ini adalah kuasa hujah pertama. Kami akan menggunakan gelung for untuk melepasi nilai yang berbeza untuk mendapatkan kuasa 2 yang berbeza.

Contoh

Dalam contoh ini, kami mencipta fungsi yang menukar binari kepada perpuluhan. Di dalam fungsi itu, kami mengulangi setiap aksara rentetan binari bermula dari aksara terakhir.

Jika kita mendapat "1" dalam rentetan binari, kita akan menggunakan fungsi Math.pow() dalam pembolehubah perpuluhan untuk menambah kuasa 2 berdasarkan kedudukan aksara. Apabila kita mendapat "0" dalam rentetan binari, kita tidak menyimpan sebarang nilai kerana apabila kita mendarab kuasa 2 dengan 0, ia mengembalikan sifar.

<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>

Dalam tutorial ini, kami telah menggunakan kaedah parseInt() untuk menukar binari kepada perpuluhan. Selain itu, kami mencipta fungsi tersuai. Pengguna boleh memilih salah satu kaedah berdasarkan pemahaman mereka sendiri.

Namun, kaedah kedua mempunyai kerumitan masa yang lebih tinggi. Jadi, lebih baik menggunakan kaedah pertama.

Atas ialah kandungan terperinci Bagaimana untuk menukar binari kepada perpuluhan dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam