Vì bạn đã có câu trả lời sơ đồ, dễ dàng có sẵn từ
wikipedia bằng cách nhập tiêu đề câu hỏi của bạn vào Google, dưới dạng sơ đồ .png
giống hệt với bạn, bạn có thể dễ dàng tìm thấy công thức bằng cách trích xuất từ sơ đồ đó. Với NAND định nghĩa như
NAND(A,B)=AB¯¯¯¯¯¯¯¯:
Cổng tận cùng bên trái cho ;C=AB¯¯¯¯¯¯¯¯
Cổng đầu cho ;D1=AC¯¯¯¯¯¯¯¯
Cổng đầu cho , như NAND là commutatve như AND;D2=BC¯¯¯¯¯¯¯¯
Cổng ngoài cùng bên phải cung cấp cho .E=D1D2¯¯¯¯¯¯¯¯¯¯¯¯
Đặt tất cả lại với nhau, trước tiên chúng tôi lưu ý rằng
C=AB¯¯¯¯¯¯¯¯=A¯¯¯¯+B¯¯¯¯
D1¯¯¯¯¯¯=AC=A(A¯¯¯¯+B¯¯¯¯)=AA¯¯¯¯+AB¯¯¯¯=0+AB¯¯¯¯=AB¯¯¯¯
Tương tự như vậy: D2¯¯¯¯¯¯=BA¯¯¯¯
Do đó
E=D1D2¯¯¯¯¯¯¯¯¯¯¯¯=D1¯¯¯¯¯¯+D2¯¯¯¯¯¯=AB¯¯¯¯+BA¯¯¯¯
Đó chính xác là định nghĩa của XOR. Bạn chỉ có thể đảo ngược tất cả điều này nếu bạn muốn bắt đầu từ dữ liệu ban đầu của mình, thay vì chỉ kiểm tra câu trả lời.
Tìm câu trả lời không có kiến thức trước
Điều này nhằm trả lời yêu cầu rõ ràng, được thêm dưới dạng chỉnh sửa cho câu hỏi, để tìm cách giải quyết từ đầu. Cho rằng câu hỏi là về một quá trình suy nghĩ, tôi đang cung cấp tất cả các chi tiết.
Tôi sẽ cố gắng dựa vào các ràng buộc của vấn đề (chỉ có 4 cổng NAND) và đối xứng của nó giữa và B có thể được bảo tồn trong giải pháp.AB
Một điều tôi biết (giả sử các luồng thông tin từ trái sang phải như trong sơ đồ câu hỏi) là phải có một cổng NAND bìa phải sản sinh ra câu trả lời mong muốn XOR(A,B)=AB¯¯¯¯+BA¯¯¯¯.
Vì vậy, chúng ta có thể cố gắng đoán loại đầu vào nào cho cổng này sẽ tạo ra đầu ra mong muốn.
Chúng tôi biết rằng NAND(X,Y)=XY¯¯¯¯¯¯¯¯=X¯¯¯¯+Y¯¯¯¯
Thống nhất công thức cuối cùng này với kết quả chúng tôi phải nhận, chúng tôi có được:
X¯¯¯¯=AB¯¯¯¯, Do đó X=AB¯¯¯¯¯¯¯¯¯¯¯¯=A¯¯¯¯+B.
và đối xứng Y=A¯¯¯¯B¯¯¯¯¯¯¯¯=A+B¯¯¯¯.
Lưu ý rằng đây chỉ là khả năng đơn giản nhất. Có các cặp đầu vào khác sẽ cho kết quả mong muốn, bởi vì chúng tôi không thống nhất trong một đại số miễn phí, vì NAND có các thuộc tính phương trình. Nhưng chúng tôi thử điều đó để bắt đầu.
XYAB
Chúng tôi có thể cố gắng lặp lại quy trình hợp nhất (tôi đã làm), nhưng điều này sẽ tự nhiên dẫn chúng tôi sử dụng bốn cổng nữa, từ đó đưa ra giải pháp 5 cổng.
XYZAB
Cho rằng chúng tôi phải cung cấp đối xứng cho và YXYZABAB
AB
Z=NAND(A,B)=AB¯¯¯¯¯¯¯¯=A¯¯¯¯+B¯¯¯¯
Bây giờ, chúng ta phải kiểm tra xem kết hợp ZABXY
AB
Thật dễ dàng để kiểm tra rằng
NAND(Z,A)=ZA¯¯¯¯¯¯¯=AB¯¯¯¯¯¯¯¯A¯¯¯¯¯¯¯¯¯¯¯¯¯=(A¯¯¯¯+B¯¯¯¯)A¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯=A¯¯¯¯A+B¯¯¯¯A¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯=0+B¯¯¯¯A¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯=B¯¯¯¯A¯¯¯¯¯¯¯¯=AB¯¯¯¯¯¯¯¯¯¯¯¯=X
NAND(Z,B)=Y
Do đó chúng ta có thể kết hợp bốn cổng này để có được kết quả mong muốn, tức là hàm XOR.