数字电路模2运算原理,及模2的加减乘除详解
来源:互联网 发布:js读取txt文件内容 编辑:程序博客网 时间:2024/06/05 03:35
模2运算的原理(转)
模2运算是一种二进制算法,CRC校验技术中的核心部分,因此,我们在分析CRC算法之前,必须掌握模2运算的规则。与四则运算相同,模2运算也包括模2加、模2减、模2乘、模2除四种二进制运算。而且,模2运算也使用与四则运算相同的运算符,即“+”表示模2加,“-”表示模2减,“×”或“·”表示模2乘,“÷”或“/”表示模2除。与四则运算不同的是模2运算不考虑进位和借位,即模2加法是不带进位的二进制加法运算,模2减法是不带借位的二进制减法运算。这样,两个二进制位相运算时,这两个位的值就能确定运算结果,不受前一次运算的影响,也不对下一次造成影响。
①模2加法运算定义为:
0+0=0 0+1=1 1+0=1 1+1=0
例如0101+0011=0110,列竖式计算:
0 1 0 1
+ 0 0 1 1
──────
0 1 1 0
②模2减法运算定义为:
0-0=0 0-1=1 1-0=1 1-1=0
例如0110-0011=0101,列竖式计算:
0 1 1 0
- 0 0 1 1
──────
0 1 0 1
③模2乘法运算定义为:
0×0=0 0×1=0 1×0=0 1×1=1
多位二进制模2乘法类似于普通意义上的多位二进制乘法,不同之处在于后者累加中间结果(或称部分积)时采用带进位的加法,而模2乘法对中间结果的处理方式采用的是模2加法。例如1011×101=100111,列竖式计算:
1 0 1 1
× 1 0 1
──────
1 0 1 1
0 0 0 0
+ 1 0 1 1
────────
1 0 0 1 1 1
④模2除法运算定义为:
0÷1=0 1÷1=1
多位二进制模2除法也类似于普通意义上的多位二进制除法,但是在如何确定商的问题上两者采用不同的规则。后者按带借位的二进制减法,根 据余数减除数够减与否确定商1还是商0,若够减则商1,否则商0。多位模2除法采用模2减法,不带借位的二进制减法,因此考虑余数够减除数与否是没有意义 的。实际上,在CRC运算中,总能保证除数的首位为1,则模2除法运算的商是由余数首位与除数首位的模2除法运算结果确定。因为除数首位总是1,按照模2 除法运算法则,那么余数首位是1就商1,是0就商0。例如1100100÷1011=1110……110,列竖式计算:
1 1 1 0
────────
1 0 1 1〕1 1 0 0 1 0 0
- 1 0 1 1
──────
1 1 1 1
- 1 0 1 1
──────
1 0 0 0
- 1 0 1 1
──────
0 1 1 0
- 0 0 0 0
──────
1 1 0
①模2加法运算定义为:
0+0=0 0+1=1 1+0=1 1+1=0
例如0101+0011=0110,列竖式计算:
0 1 0 1
+ 0 0 1 1
──────
0 1 1 0
②模2减法运算定义为:
0-0=0 0-1=1 1-0=1 1-1=0
例如0110-0011=0101,列竖式计算:
0 1 1 0
- 0 0 1 1
──────
0 1 0 1
③模2乘法运算定义为:
0×0=0 0×1=0 1×0=0 1×1=1
多位二进制模2乘法类似于普通意义上的多位二进制乘法,不同之处在于后者累加中间结果(或称部分积)时采用带进位的加法,而模2乘法对中间结果的处理方式采用的是模2加法。例如1011×101=100111,列竖式计算:
1 0 1 1
× 1 0 1
──────
1 0 1 1
0 0 0 0
+ 1 0 1 1
────────
1 0 0 1 1 1
④模2除法运算定义为:
0÷1=0 1÷1=1
多位二进制模2除法也类似于普通意义上的多位二进制除法,但是在如何确定商的问题上两者采用不同的规则。后者按带借位的二进制减法,根 据余数减除数够减与否确定商1还是商0,若够减则商1,否则商0。多位模2除法采用模2减法,不带借位的二进制减法,因此考虑余数够减除数与否是没有意义 的。实际上,在CRC运算中,总能保证除数的首位为1,则模2除法运算的商是由余数首位与除数首位的模2除法运算结果确定。因为除数首位总是1,按照模2 除法运算法则,那么余数首位是1就商1,是0就商0。例如1100100÷1011=1110……110,列竖式计算:
1 1 1 0
────────
1 0 1 1〕1 1 0 0 1 0 0
- 1 0 1 1
──────
1 1 1 1
- 1 0 1 1
──────
1 0 0 0
- 1 0 1 1
──────
0 1 1 0
- 0 0 0 0
──────
1 1 0
0 0
- 数字电路模2运算原理,及模2的加减乘除详解
- 大整数加减乘除及取模运算 C++实现
- 模2运算的原理
- 模2运算的原理
- 模2运算的原理
- 模2运算的原理
- 模2运算的原理
- 模2运算的原理
- 模2运算的原理
- 复数的加减乘除及开方乘方运算
- 复数的加减乘除及开方乘方运算
- 分数的约分及加减乘除运算
- 一元多项式的表示及加减乘除运算
- 大数运算(加减乘除模)
- 模2运算原理
- (转)模2运算的原理
- 多学点基础知识:模2运算的原理
- 整型的加减乘除运算
- Android隐藏输入法键盘函数
- UML概述
- 浅议URL normalization
- HDU1166 敌兵布阵 树状数组水题
- 将一个表的数据的某些字段更新到另一个表里面的某些字段
- 数字电路模2运算原理,及模2的加减乘除详解
- 三国告诉我们的30条社会真理!说的太好了!!
- 从为什么要将基类的析构函数定义为虚函数谈起~~
- Android 项目编译过程【Android脚本自动发布APK提测】
- 程序在的内存中的分配(常量,局部变量,全局变量,程序代码)
- ORACLE11G RAC 应用分开到不同的实例上.TAF
- 六级短对话场景标志词
- Coder-Strike 2014 - Finals (online edition, Div. 2)——Bug in Code
- asp全局静态变量被回收