Mình đang thắc mắc thuật toán cộng 2 chuỗi số nhị phân có nhớ. Mình có search nhưng đọc chưa hiệu, mọi người giúp mình với.
Đây là thuật toán mình search được
string addBitStrings( string first, string second )
{
string result;
int length = makeEqualLength(first, second);
int carry = 0;
for (int i = length-1 ; i >= 0 ; i--)
{
int firstBit = first.at(i) - '0';
int secondBit = second.at(i) - '0';
int sum = (firstBit ^ secondBit ^ carry)+'0';
result = (char)sum + result;
cout << result <<endl;
carry = (firstBit&secondBit) | (secondBit&carry) | (firstBit&carry);
}
if (carry) result = '1' + result;
return result;
}
Đây là lời giải thích mình search nhưng đọc không hiểu
Giải thích cho mình với, cám ơn mọi người.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?