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