- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

# What is Polynomial Code?

A polynomial code is a linear code having a set of valid code words that comprises of polynomials divisible by a shorter fixed polynomial is known as generator polynomial.

They are used for error detection and correction during the transmission of data as well as storage of data.

## Types of Polynomial Codes

The types of polynomial codes are:

- Cyclic Redundancy Code
- Bose–Chaudhuri–Hocquenghem (BCH) Codes
- Reed–Solomon Codes

## Representation of Bit Strings with Polynomials

The code words, which are essentially bit strings, are represented by polynomials whose coefficients are either 0 or 1. A 𝑘 – bit word is represented by a polynomial ranging from 𝑥^{0} to 𝑥^{𝑘−1}. The order of this polynomial is the power of the highest coefficient, i.e. (𝑘−1).

For example, an 8 – bit word 11001101 is represented by the following polynomial of order 7:

1𝑥^{7}+ 1𝑥^{6}+ 0𝑥^{5}+ 0𝑥^{4}+1𝑥^{3}+ 1𝑥^{2}+ 0𝑥^{1}+1𝑥^{0} = 𝑥^{7}+𝑥^{6}+ 𝑥^{3}+ 𝑥^{2}+1

## Modulo 2 Arithmetic

Polynomial code operations are done by modulo 2 arithmetic.

**Addition and Subtraction:**According to the rules of finite field theory, in modulo 2 arithmetic, addition and subtraction has no carries or borrows. Thus, both the operations are same as XOR (exclusive OR) operations.

Operand | Operand | Modulo 2 Addition | Modulo 2 Subtraction |
---|---|---|---|

0 | 0 | 0 | 0 |

0 | 1 | 1 | 1 |

1 | 0 | 1 | 1 |

1 | 1 | 0 | 0 |

For example, if there are two words 11001011 and 10101111, both addition and subtraction will give the result 01100100.

**Multiplication:**Modulo 2 multiplication is the same as AND operation.

Operand | Operand | Modulo 2 Multiplication |
---|---|---|

0 | 0 | 0 |

0 | 1 | 0 |

1 | 0 | 0 |

1 | 1 | 1 |

## Generator Polynomial

When messages are encoded using polynomial code, a fixed polynomial called generator polynomial,𝐺(𝑥) is used. The length of 𝐺(𝑥) should be less than the length of the messages it encodes.

In CRC encoding, 𝐺(𝑥) should have 1 in both its MSB (most significant bit) and LSB (least significant bit) positions. In the process of encoding, CRC bits are appended to the message so that the resultant frame is divisible by 𝐺(𝑥).

- Related Articles
- What Is A Polynomial ?
- What Is Bi-quadratic Polynomial?
- What is Gray code?\n
- What is Code Division Multiplexing?
- What is Intermediate Code Generation?
- What is Three Address Code?
- What is unmanaged code in C#?
- What is Excess-3 Code?\n
- What is the degree of zero polynomial?
- What is unsafe/unmanaged code in C#?
- What is a managed code in C#?
- What is types of Intermediate Code Representation?
- What is Implementation of Three Address Code Statements?
- What is the degree of the polynomial $2x^3y^2$?
- What is the easiest code for array intersection in JavaScript?