# Andrew S. Tanenbaum Edition 5th Exercise 3 Question 39 (Page No. 255)

64 views
The goal of this lab exercise is to implement an error-detection mechanism using the
standard CRC algorithm described in the text. Write two programs, generator and
verifier. The generator program reads from standard input a line of ASCII text containing
an n-bit message consisting of a string of 0s and 1s. The second line is the kbit
polynomial, also in ASCII. It outputs to standard output a line of ASCII text with
n + k 0s and 1s representing the message to be transmitted. Then it outputs the polynomial,
just as it read it in. The verifier program reads in the output of the generator
program and outputs a message indicating whether it is correct or not. Finally, write a
program, alter, that inverts 1 bit on the first line depending on its argument (the bit
number counting the leftmost bit as 1) but copies the rest of the two lines correctly.
By typing
generator <file | verifier
you should see that the message is correct, but by typing
generator <file | alter arg | verifier
you should get the error message.

## Related questions

1
105 views
A 1024-bit message is sent that contains 992 data bits and 32 CRC bits. CRC is computed using the IEEE 802 standardized, 32-degree CRC polynomial. For each of the following, explain whether the errors during message transmission will be detected by the receiver: (a) There was a ... were 47 isolated bit errors. (e) There was a 24-bit long burst error. (f) There was a 35-bit long burst error.
What is the remainder obtained by dividing $x^7 + x ^5 + 1$ by the generator polynomial $x^ 3 + 1?$