一、模2运算(不需要借位/进位)
1、模2加减法
运算式 | 运算结果 |
---|---|
1+1 | 0 |
1+0 | 1 |
0+1 | 1 |
0+0 | 0 |
1-1 | 0 |
1-0 | 1 |
0-1 | 1 |
0-0 | 0 |
2、模2乘法
- 示例说明
1 1 0 1 × 1 0 1 1 1 0 1 0 0 0 0 1 1 0 1 1 1 1 0 0 1 \begin{matrix} &&1&1&0&1\\ \times&&&1&0&1\\ \hline &&1&1&0&1\\ &0&0&0&0&\\ 1&1&0&1&&\\\hline 1&1&1&0&0&1\\ \end{matrix} ×1101111001111010000001111
3、模2除法
- 示例说明
110101 1101 ) 101001000 ‾ 1101 1110 1101 0111 0000 1110 1101 0110 0000 1100 1101 0001 \begin{matrix} \quad\quad\quad\quad110101\\ 1 1 0 1 ) \overline { 1 0 1 0 0 1 0 0 0 }\\ 1101\\\hline \quad1110\\ \quad1101\\\hline \quad\quad0111\\ \quad\quad0000\\\hline \quad\quad\quad1110\\ \quad\quad\quad1101\\\hline \quad\quad\quad\quad0110\\ \quad\quad\quad\quad0000\\\hline \quad\quad\quad\quad\quad1100\\ \quad\quad\quad\quad\quad1101\\\hline \quad\quad\quad\quad\quad0001\\ \end{matrix} 1101011101)101001000110111101101011100001110110101100000110011010001
与算数运算主要区别为 没有
进位
和借位
。
二、CRC校验
- 设信息位为 k k k 位;
- 校验位为 n − k n-k n−k 位。
1、校验位生成多项式为 n − k n-k n−k 阶多项式;
2、信息位作为被除数,生成多项式对应的二进制数( n − k + 1 n-k+1 n−k+1位)作为除数,进行模2除法运算,得到余数 n − k n-k n−k 位作为校验位。
3、上述除法示例见模2除法示例,信息位为 1 0 1 0 0 1 0 0 0,生成多项式对应二进制数为 1 1 0 1( x 3 + x 2 + 1 x^3+x^2+1 x3+x2+1),余数为 0 0 0 1,取 0 0 1;最终数据为 1 0 1 0 0 1 0 0 0 0 0 1。