เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับเลขฐานสองเป็นสตริงและส่งกลับค่าที่เทียบเท่ากับตัวเลขในฐาน 10 ดังนั้น เรามาเขียนโค้ดสำหรับฟังก์ชันกัน
อันนี้ค่อนข้างง่าย เราวนซ้ำบนสตริงโดยใช้ for loop และสำหรับแต่ละบิตที่ส่ง เราเพิ่มตัวเลขเป็นสองเท่าด้วยการเพิ่มค่าบิตปัจจุบันเป็นเช่นนี้ -
ตัวอย่าง
const binaryToDecimal = binaryStr => {
let num = 0;
for(let i = 0; i < binaryStr.length; i++){
num *= 2;
num += Number(binaryStr[i]);
};
return num;
};
console.log(binaryToDecimal('1101'));
console.log(binaryToDecimal('1101000'));
console.log(binaryToDecimal('10101')); ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็น -
13 104 21