When the other computer receives that packet, it does the same calculation and checks to see if its CRC value matches the CRC value that was sent along with the data. Each bit on the bit string becomes the coefficient of this polynomial that is as long as the bit pattern. Polynomial arithmetic is a little different from regular arithmetic. By definition, each term in the polynomial sort of keeps to itself - x is kept as a pure place holder. According to Williams, this is practically the same thing as binary arithmetic without carries.
Division works in much the same way as multiplication.
The second calculation done in CRC is the division of the data bit polynomial by another polynomial. Widths generally have to be a multiple of 8, in order to go with the normal idea that computers bunch bit codes into bundles of eight called bytes. Whatever the width, the same number of 0's are added to the end of the original message before the original message is divided by the CRC polynomial. So, to sum up, there is an agreed-upon CRC polynomial of a certain width. The data to be sent is converted into polynomial form and a string of 0's that is as wide as the CRC polynomial is added to it.