พื้นฐานของการบวกไบนารี −
กฎสี่ข้อของการบวกเลขฐานสองคือ -
0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10
เมื่อคำนึงถึงประเด็นเหล่านี้ การบวกเลขฐานสองจึงคล้ายกับการบวกทศนิยมมาก (ซึ่งเป็นไปตามหลักการยก)
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับในสองอาร์เรย์ที่มีเฉพาะสตริงไบนารี (อาจเป็น '0' หรือ '1')
ฟังก์ชันควรเพิ่มบิตไบนารีที่สอดคล้องกันจากอาร์เรย์และส่งคืนอาร์เรย์ใหม่ที่มีผลลัพธ์เพิ่มเติมของอาร์เรย์เหล่านั้น
ตัวอย่างเช่น − หากอาร์เรย์อินพุตเป็น −
const arr1 = ['1', '0', '1']; const arr2 = ['1', '0', '1'];
จากนั้นผลลัพธ์ควรเป็น −
const output = ['1', '0', '1', '0'];
ตัวอย่าง
รหัสสำหรับสิ่งนี้จะเป็น −
const arr1 = ['1', '0', '1']; const arr2 = ['1', '0', '1']; const addBinary = (arr1 = [], arr2 = []) => { const str1 = arr1.join(''); const str2 = arr2.join(''); let carry = 0, temp = 0, res = ''; for(let i = Math.max(str1.length, str2.length) − 1; i >= 0; i−−){ const el1 = +str1[i] || 0; const el2 = +str2[i] || 0; if(el1 + el2 + carry > 1){ temp = 0; carry = 1; }else{ temp = el1 + el2 + carry; carry = 0; }; res = temp + res; }; if(carry){ res = carry + res; }; return res.split(''); }; console.log(addBinary(arr1, arr2));
ผลลัพธ์
และผลลัพธ์ในคอนโซลจะเป็น −
[ '1', '0', '1', '0' ]