3.3.10 · D5Combinational Circuits
Question bank — Parity generators - checkers
The five symbols this page uses — defined here, self-contained
You do not need the parent note open to follow along. Everything rests on five pieces of notation, all defined right here.
Here is the ground truth of XOR — the entire engine of parity in one small table.
The figure below shows the gate tree that turns four data bits into a parity bit, and shows the checker being the same tree with one extra input.

And this table shows every error case the traps below refer to, side by side, so you can see why some are caught and some slip through.

The three loaded facts, restated so this page stands alone:
- XOR of a set of bits equals 1 exactly when an odd number of them are 1 — that is the whole engine.
- Even-parity generator ; odd-parity generator is its complement (XNOR).
- The checker XORs everything including to get the error signal .
True or false — justify
A single flipped bit is always caught by an even-parity checker.
True — one flip changes the count of 1s by , so an even count becomes odd, breaking the rule and forcing . Parity is guaranteed against any odd number of flips.
Even parity means the parity bit is always 0.
False — is whatever makes the total count even. If the data already has an odd number of 1s, . "Even" describes the total, not the parity bit's value.
The parity checker needs a completely different circuit from the generator.
False — both are the same XOR tree. The checker is just an -input version that also feeds in; its output is the error flag. Same gates, one extra input.
For odd parity, a correct received word gives .
False — a correct odd-parity word has an odd count of 1s, so XORing everything gives . In odd parity, signals an error (the reverse of even parity).
Adding a parity bit lets the receiver repair corrupted data.
False — parity only tells you that something broke, never which bit. Locating and fixing the fault needs more redundancy, e.g. Hamming Codes.
XOR and XNOR give the same parity-generator output for the same data.
False — they are complements. For data the XOR is (even-parity ) while the XNOR is (odd-parity ). They agree only in that one is always the flip of the other.
If the data has an even number of 1s, the even-parity bit is 0.
True — the total is already even, so no extra 1 is needed. Formally and .
A parity system that misses double-bit errors is broken and should never be used.
False — it is working as designed. Parity is a deliberately cheap net that catches all odd-count errors; missing even-count errors is a known, accepted trade-off for its tiny hardware cost.
Spot the error
"For even parity, set (XNOR of all data bits)."
Wrong gate. Even parity uses plain XOR; XNOR gives odd parity. The XNOR would flip the total to odd, breaking the even convention. Remember: "Even is plain XOR; Odd wears an N-coat."
"The receiver got in an even-parity system, so the data is definitely fine."
Backwards reading. In even parity, means fine and means error. says at least one (odd number of) bit flipped — the data is not trustworthy.
"To check the word, XOR only the data bits and ignore ."
The checker must include . XORing data alone just re-computes the generator value; it can't compare against the received . Including is exactly what makes reflect whether the rule still holds.
"A double flip changes the count of 1s by 2, so parity flips twice and ."
The verdict is wrong even though the count-change is right. Two flips change parity twice, which returns it to the original even/odd state, so ends up unchanged — the error is silently missed.
"XOR is left-to-right only, so must be grouped as ."
Grouping doesn't matter — XOR is associative, so . Any bracketing (or a balanced tree of gates) gives the same parity result.
"Even-parity generator for data bits needs XOR gates."
It needs two-input XOR gates to combine bits (each gate merges two lines into one). A common trap is counting one gate per input instead of one per combination.
Why questions
Why is XOR — and not AND or OR — the natural gate for parity?
Because XOR's output is 1 exactly when an odd number of its inputs are 1, which is literally the parity question. AND asks "all 1s?" and OR asks "any 1s?" — neither counts oddness, so neither computes parity.
Why does chaining XORs still compute the parity of the whole group?
XOR is associative and commutative, so a chain acts as one big "is the total count odd?" test regardless of order or grouping. Each additional 1 among the inputs toggles the running result.
Why does a single bit flip always flip the error signal ?
A flip changes the count of 1s by exactly , which changes the parity of that count. Since is the parity of the whole received word, its value flips with it.
Why does odd parity use the complement of the even formula?
Even parity forces the total count even; odd parity wants the opposite outcome for the same data, and the opposite of an XOR result is its XNOR. Inverting the even generator's output is exactly the requirement flip.
Why is a parity circuit purely combinational, with no memory?
The parity bit depends only on the current data bits, not on any past inputs. With no feedback or stored state needed, it belongs to Combinational Circuits — see also XOR and XNOR gates.
Why can't parity tell you which bit flipped?
A single parity bit carries only one bit of information: "count is right / count is wrong." That is enough to detect a fault but far too little to pinpoint one of positions — locating needs multiple, cleverly placed parity bits (Hamming Codes).
Why do stronger schemes like Checksums and CRC exist if parity is so cheap?
Parity misses all even-count errors and many burst errors. Checksums and CRC add more redundancy to catch far more error patterns, trading a little extra hardware and bits for much stronger detection.
Edge cases
What parity bit does an all-zero data word get, in even parity?
. There are zero 1s, and zero is an even count, so no extra 1 is needed — the XOR of all-zeros is 0.
What parity bit does an all-zero data word get, in odd parity?
. Zero 1s is even, so odd parity must add one 1 to reach an odd total; the XNOR of all-zeros is 1.
What happens if the parity bit itself is the bit that gets corrupted?
It is still caught — is part of the counted word, so flipping it changes the total count by just like any data bit, forcing to signal an error. Parity protects itself.
If exactly THREE bits flip in an even-parity word, is the error detected?
Yes — three is an odd number of flips, so the parity toggles an odd number of times and ends up wrong (). Parity catches any odd count of errors, not just single flips.
Can a parity checker ever raise a false alarm on an untouched, correctly generated word?
No — if no bit flips, the received word still satisfies the parity rule, so takes its "good" value. False alarms only arise from actual corruption, never from clean transmission.
Connections
- XOR and XNOR gates — every trap here rests on XOR meaning "odd count?".
- Combinational Circuits — why parity has no memory.
- Error Detection and Correction — the detect-only role of parity.
- Hamming Codes — the "which bit?" upgrade parity can't do.
- Checksums and CRC — stronger successors that patch parity's blind spots.