Introduction
When data travels from one place to another, it can get changed by mistakes or noise. Detecting these errors quickly helps computers know if the data is correct or needs to be sent again.
Imagine sending a letter with a secret code that helps the receiver know if any words got smudged or changed during delivery. Different codes catch different kinds of mistakes, from simple typos to complex smudges.
┌───────────────┐ ┌───────────────┐ ┌───────────────┐ │ Sender │ │ Channel │ │ Receiver │ │ │──────▶│ (Data + Code) │──────▶│ │ │ Data + Parity │ │ │ │ Check Parity │ │ Data + Checksum│ │ │ │ Checksum Calc │ │ Data + CRC │ │ │ │ Check CRC │ └───────────────┘ └───────────────┘ └───────────────┘