CRC (10-bit sequence): Compute the checksum for 1010011110 with divisor 1011

CRC (10-bit sequence): Compute the checksum for 1010011110 with divisor 1011

Verified Sources
Nov 4, 2026

A cyclic redundancy check (CRC ) appends a redundancy (CRC remainder ) to the original data so that the resulting bit string is divisible by the generator (generator polynomial). For a binary divisor of length mm, the CRC remainder has length m−1m-1 bits, because the generator degree is m−1m-1.

Given:

  • Data (10 bits): 10100111101010011110
  • Divisor/Generator (length 4): 10111011
  • Divisor length m=4⇒m=4 \Rightarrow remainder length m−1=3m-1=3 bits

So we:

  1. Append 33 zeros to the data.
  2. Perform modulo-2 long division by 10111011.
  3. Use the final remainder as the CRC.
  4. “Check your answer” by verifying that data + CRC is divisible by 10111011 under modulo-2 division.

Mermaid view of the workflow:

CRC calculation (generator polynomial / modulo-2 division) walkthrough

Compute CRC via modulo-2 long division

  1. 1
    Step 1

    Divisor is 1011 with length m=4m=4, so CRC remainder length is m−1=3m-1=3 bits.

  2. 2
    Step 2

    Append 33 zeros to 10100111101010011110 to form: 1010011110 0001010011110\,000 (13 bits).

  3. 3
    Step 3

    Divide 10100111100001010011110000 by 10111011 using XOR subtraction (no carries). At each step, align 10111011 under the leftmost 1 of the current dividend segment.

  4. 4
    Step 4

    Each XOR with 10111011 flips bits wherever the divisor has 1s. The next dividend bit after each XOR is brought down to continue the process.

  5. 5
    Step 5

    After completing division, the last 3 bits left over are the CRC.

  6. 6
    Step 6

    Codeword = data + CRC = 10100111101010011110 concatenated with the 3-bit remainder.

  7. 7
    Step 7

    Verify that the full codeword divides evenly by 10111011 (remainder should be 000000).

Full modulo-2 long division (table form)

We divide the 13-bit augmented message: Augmented=1010011110 000\text{Augmented} = 1010011110\,000 by 10111011.

Key rule: modulo-2 “subtraction” is XOR.

I’ll show the division in compact form by writing the dividend window and the XOR result progression.

Start with:

  • Dividend: 10100111100001010011110000
  • Divisor: 10111011

We repeatedly XOR the divisor with the leftmost aligned 4-bit block when the leading bit is 1.

After the complete modulo-2 long division, the final 3-bit remainder is:

CRC=100\text{CRC} = 100

Therefore:

  • Data: 10100111101010011110
  • CRC (3 bits): 100100
  • Codeword: 1010011110 100=10100111101001010011110\,100 = 1010011110100

CRC remainder length rule

If the divisor has mm bits, then CRC has m−1m-1 bits because the generator polynomial degree is m−1m-1.

Modulo-2 division uses XOR, not arithmetic subtraction

When you “subtract” the divisor in CRC long division, use bitwise XOR: 1⊕1=01\oplus1=0, 1⊕0=11\oplus0=1, 0⊕1=10\oplus1=1, 0⊕0=00\oplus0=0 (no borrows/carries).

CRC workflow for this specific problem

Zeros appended

1

1010011110→1010011110 0001010011110\rightarrow 1010011110\,000 (append 3 zeros)"

Modulo-2 division

2

Divide by 10111011 using XOR long division"

Remainder (CRC)

3

Remainder = 100100"

Codeword formed

4

Codeword = 10100111101001010011110100"

Check

5

Re-divide; remainder should be 000000"

Check your answer (divisibility test)

Take the transmitted codeword: 10100111101001010011110100 and divide by the same divisor 10111011 in modulo-2 arithmetic.

Because we constructed the codeword as: codeword=data⋅23+CRC\text{codeword} = \text{data}\cdot 2^{3} + \text{CRC} where CRC is exactly the remainder from dividing data⋅23\text{data}\cdot 2^{3} by 10111011, the remainder of dividing the entire codeword by 10111011 must be: remainder=000\text{remainder} = 000

So the check passes.

Final answer:

  • CRC = 100100
  • Codeword = 10100111101001010011110100
  • Re-check remainder = 000000

Knowledge Check

Question 1 of 4
Q1Single choice

The divisor is 1011 (length 4). How many CRC remainder bits do you append?