---
title: "CRC error detection with example"
subject: "Data Communication"
chapter: 8
key: "semester_5/data_communication:crc-explain"
source: https://www.bctengineer.com/q/semester_5/data_communication/crc-explain
site: BCT Engineering
---

# CRC error detection with example

Data Communication · Chapter 8: Information Theory and Coding

- Asked in: 2078 Kartik, 10 marks; 2076 Chaitra, 8 marks; 2074 Chaitra, 2+6 marks; 2074 Asoj, 3+3 marks; 2069 Asar, 5 marks (asked 5 times)
- Video: [Lec-30: Cyclic Redundancy Check(CRC)  for Error Detection and Correction  | Computer Networks](https://www.youtube.com/watch?v=5Q-Yv6_0Qcw) — Gate Smashers
- Answer checked by Claude Sonnet 5.5 on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_5/data_communication/crc-explain
- Whole chapter: https://www.bctengineer.com/md/semester_5/data_communication/chapter-8

## Question

Explain the operation of CRC-4 with an example of error detection.

## Short answer

Using generator 10011, divide data 1101011011 with four appended zeros. Remainder (CRC) is 1110. Transmitted codeword: 11010110111110. At receiver, correct division yields remainder 0000; an erroneous bit yields non-zero remainder 0111, detecting the error.

## Answer

**CRC (Cyclic Redundancy Check)** is an error-detecting code that appends a few redundant check bits (the remainder of a binary polynomial division) to the data. The receiver divides the received frame by the same divisor, and a non-zero remainder means an error.

**CRC-4** uses a 4-bit remainder with a 5-bit generator, here G(x) = x⁴ + x + 1, i.e. **10011**.

#### Sender
Data = 1101011011 (10 bits). Append n = 4 zeros: 1101011011**0000**. Divide by 10011 using modulo-2 (XOR) division, no carries:

```text
 start      1101011011 0000
 step at 0  11010 xor 10011 -> 01001110110000
 step at 1  10011 xor 10011 -> 00000010110000
 step at 6  10110 xor 10011 -> 00000000101000
 step at 8  10100 xor 10011 -> 00000000001110
 remainder  = 1110
```

Remainder (CRC) = **1110**. Transmitted codeword = data + CRC = **11010110111110**.

#### Receiver, no error
Dividing 11010110111110 by 10011 gives remainder **0000**, so the frame is accepted.

#### Receiver, with error
Suppose bit 4 flips: received 11000110111110. Dividing by 10011 gives remainder **0111 ≠ 0**, so the error is detected and the frame is discarded (retransmission requested).

#### Why it works
Transmitted polynomial T(x) is exactly divisible by G(x). An error E(x) is undetected only if G(x) divides E(x). CRC with a degree-4 generator that has a constant term detects all single-bit errors, all burst errors of length ≤ 4, and most longer bursts (miss probability about 1/2⁴).

**Answer: CRC = 1110, codeword = 11010110111110; the corrupted word gives non-zero remainder 0111.**

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. How does the sender compute CRC-4?
   A. Append 4 zeros, divide by 5-bit generator (modulo-2); remainder is the CRC
   B. Add 4 ones and sum
   C. Multiply by generator
   D. Append the generator
   Answer: A. Append n zeros, do XOR division, and the remainder is appended. (Key point: Sender procedure)

2. What is the generator used?
   A. x^4 + x + 1 = 10011
   B. x^3 + x + 1 = 1011
   C. x^4 + 1 = 10001
   D. x^5 = 100000
   Answer: A. G(x) = x^4 + x + 1, i.e. 10011. (Key point: Generator)

3. What does the receiver conclude from remainder 0000?
   A. An error occurred
   B. Frame accepted
   C. Retransmit
   D. Unknown
   Answer: B. Zero remainder means no detected error. (Key point: Receiver check)

4. Which errors are always detected?
   A. Only single-bit errors
   B. All single-bit and burst errors of length <= 4
   C. All errors
   D. Only even errors
   Answer: B. Degree-4 generator with constant term detects these; others missed with probability about 1/16. (Key point: Detection capability)

## Related in Data Communication

- [CRC detection of burst errors](https://www.bctengineer.com/question.md?key=semester_5%2Fdata_communication%3Acrc-burst-errors) — Data Communication, chapter 8, asked 2×
- [Checksum error detection](https://www.bctengineer.com/question.md?key=semester_5%2Fdata_communication%3Achecksum-12-15-15-10-5-2) — Data Communication, chapter 8
- [Dataword vs codeword; error coding techniques](https://www.bctengineer.com/question.md?key=semester_5%2Fdata_communication%3Adataword-codeword-error-coding) — Data Communication, chapter 8

## Related in other subjects

- [Error detection in serial data transmission](https://www.bctengineer.com/question.md?key=semester_5%2Finstrumentation_ii%3Aserial-error-detection) — Instrumentation II, chapter 3, asked 2×
- [Error correction vs detection, bit stuffing](https://www.bctengineer.com/question.md?key=semester_7%2Fcomputer_networks_and_security%3Aerror-correct-detect-bitstuff) — Computer Networks and Security, chapter 3
- [Phase error in synchronous DSB-SC detection; synchronized receiver](https://www.bctengineer.com/question.md?key=semester_6%2Fcommunication_systems%3Aphase-error-dsbsc-costas) — Communication Systems, chapter 2
- [Phase error in coherent DSB-SC detection; AM demodulation by PLL](https://www.bctengineer.com/question.md?key=semester_6%2Fcommunication_systems%3Aphase-error-dsbsc-am-pll) — Communication Systems, chapter 2
