Vấn đề
Chúng tôi được yêu cầu viết một hàm JavaScript có hai chuỗi nhị phân str1 và str2 với đối số thứ nhất và thứ hai
Hàm của chúng ta sẽ trả về tổng của hai số nhị phân. Chúng tôi không được phép chuyển đổi các số nhị phân thành số thập phân rồi thêm vào và tổng kết quả không được chứa số không.
Ví dụ:nếu đầu vào của hàm là -
Đầu vào
const str1 = '1101'; const str2 = '10111';
Đầu ra
const output = '100100';
Ví dụ
Sau đây là mã -
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));
Đầu ra
100100