ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับสองสตริงไบนารี str1 และ str2 เป็นอาร์กิวเมนต์แรกและอาร์กิวเมนต์ที่สอง
ฟังก์ชันของเราควรส่งคืนผลรวมของเลขฐานสองสองตัว เราไม่ได้รับอนุญาตให้แปลงเลขฐานสองเป็นทศนิยมแล้วบวก และผลรวมที่ได้ไม่ควรมีเลขศูนย์เลย
ตัวอย่างเช่น หากอินพุตของฟังก์ชันคือ −
ป้อนข้อมูล
const str1 = '1101'; const str2 = '10111';
ผลผลิต
const output = '100100';
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const str1 = '1101'; const str2 = '10111'; const addBinary = (str1 = '', str2 = '') => { str1 = str1.split('').reverse(); str2 = str2.split('').reverse(); let res = '', temp = 0; while (str1.length || str2.length || temp) { temp += (~~str1.shift()) + (~~str2.shift()); let mod = temp % 2; res = mod + res; temp = temp > 1; }; return (+res) ? res.replace(/^0+/, '') : '0'; }; console.log(addBinary(str1, str2));
ผลลัพธ์
100100