เราจำเป็นต้องเขียนฟังก์ชัน 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