Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

วิธีแปลง Binary เป็น Decimal ใน JavaScript

JavaScript มีวิธีในตัว (Built-in) สำหรับแปลง Binary String เป็น Decimal Number อย่างง่าย

วิธีที่ 1: parseInt() กำหนด Radix 2 (แนะนำ)

<!DOCTYPE html>
<html>
  <body>
    <script>
      var binaryStr = "1010";
      var decimal = parseInt(binaryStr, 2);
      document.write("Binary: " + binaryStr + " = Decimal: " + decimal); // 10
    </script>
  </body>
</html>

วิธีที่ 2: Number() กับ Prefix 0b (ES6+)

var decimal = Number("0b1010"); // 10
// หรือ Literal โดยตรง (ไม่ใช่ String)
var literal = 0b1010; // 10

ตารางตัวอย่าง

BinaryDecimalCode
00parseInt("0", 2)
11parseInt("1", 2)
102parseInt("10", 2)
101010parseInt("1010", 2)
11111111255parseInt("11111111", 2)

ข้อควรระวัง

  • parseInt ข้าม Whitespace นำหน้า และหยุดอ่านตอนเจอตัวอักษรที่ไม่ใช่ 0/1
  • ส่ง Radix 2 เสมอ เพื่อป้องกันการตีความผิด (เช่น Leading Zero ถูกมองว่า Octal ในบาง Environment)
  • Binary String ยาวเกิน 32-bit อาจสูญเสีย Precision ใช้ BigInt: BigInt("0b" + binaryStr)