Bộ cộng nối tiếp (ripple-carry adder) ghép n full adder: mỗi tầng nhận hai bit a_i, b_i và carry-in, sinh ra bit tổng s_i = a_i ⊕ b_i ⊕ c_i và carry-out c_{i+1} = (a_i·b_i) + (c_i·(a_i⊕b_i)).
Cho hai chuỗi nhị phân A, B cùng độ dài n (bit cao nhất ở bên trái) và carry-in cin, hãy in chuỗi tổng n bit và carry-out cuối cùng, cách nhau dấu cách: S cout.
A = 0110 (6), B = 0011 (3), cin = 0: tổng = 1001 (9), carry-out = 0.
Dòng 1: hai chuỗi nhị phân A B cùng độ dài. Dòng 2: carry-in cin (0 hoặc 1).
1 ≤ n ≤ 64, A và B chỉ gồm ký tự 0/1 và cùng độ dài.
Một dòng: chuỗi tổng n bit, dấu cách, carry-out (0/1).
Ví dụ:
Đầu vào:
0110 0011
0
Đầu ra:
1001 0
Giải thích:
Đang tải editor...