Hum single bits ke liye A−B compute karte hain. Sab cases enumerate karo (yeh Feynman-level imandaari hai — kabhi truth table guess mat karo, usse banao):
A
B
A−B
D (diff)
Bout (borrow)
0
0
0
0
0
0
1
−1 → borrow, result 1
1
1
1
0
1
1
0
1
1
0
0
0
Row 2 kyun?0−1 unsigned column mein −1 nahi ho sakta, isliye hum 2 borrow karte hain: 0+2−1=1 se D=1 milta hai, aur hum Bout=1 mark karte hain kyunki humne upar se liya.
Ab columns ko boolean functions ki tarah padho:
D=1 jab exactly ek input 1 ho → woh hai XOR.
Bout=1sirf us row mein jahan A=0,B=1 → woh hai Aˉ⋅B.
Ab ek borrow andar aata hai pichle (neeche wale) column se, Bin. Hum A−B−Bin compute karte hain.
A
B
Bin
A−B−Bin
D
Bout
0
0
0
0
0
0
0
0
1
−1
1
1
0
1
0
−1
1
1
0
1
1
−2
0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
1
−1
1
1
D column teen ka XOR kyun hai? Difference bit 1 hota hai jab teeno inputs mein se odd number inputs 1 hon (check karo: rows jahan 1,1,1 ya sirf ek 1 ho wahan D=1 aata hai). Teen bits ka odd-parity hi teen-input XOR hota hai.
D=A⊕B⊕Bin
Bout algebraically derive karna (yeh full-adder carry derivation ko mirror karta hai). Bout=1 wali rows ko two-stage idea se group karo. Subtraction ko do half-subtracts ke roop mein karo:
Q: FS ke liye A=1,B=0,Bin=1 mein D aur Bout kya honge?
Forecast:1−0−1=0, koi borrow nahi.
Verify:D=1⊕0⊕1=0 ✓, Bout=1ˉ⋅0+1ˉ⋅1+0⋅1=0 ✓.
Recall Feynman: ek 12-saal ke bacche ko samjhao
Socho tumhare paas ek ke upar ek rakhay huay jars mein candies hain. Upar wale jar mein kuch hain, neeche wale mein kuch hain, aur tumhe neeche wali quantity upar se hatani hai. Agar upar wale jar mein enough na ho, tum seedha upar jao aur agle jar se ek bada bundle borrow lo (binary mein 2 candies worth) — lekin ab us upar wale jar pe ek wापas dena hai, aur wahi "ek dena hai" note borrow-out hai. Difference bit bas wohi candies hain jo us jar mein bachi hain. Subtractor bas itna karta hai: bachi hui candies (difference) aur "main upar ka dena hun" wala note (borrow).