模2运算的原理 模2加法,模2减法,模2乘法,模2除法
2011-05-06 23:24:47| 分类: c | 标签:模2除法 模2运算的原理 模2加法 模2减法 模2乘法 |字号 订阅
模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加和模2乘的运算规则介绍 关于模2加和模2乘的运算规则介绍
用C语言实现模二除法。 模2除法结果与异或相同,与算术除法类似,但每一位除的结果不影响其它位,即不向上一位借位。在循环冗余校验码(CRC)的计算中有应用到模2除法。
有限域F2 多项式的模幂运算 对指数进行二进制分解 结合位运算 加快运算速度
RSA算法中求模乘运算的结果 void modular exponentitation int x int r int p int t { int a b c; a x;b r;c t; if b 0 如果b为零 则结果等于1 { printf "%d" c ; 输出结果 return; } if b>0 ...
对于图像的低频处理。对于本代码,只是模板的其中一种。可以随意改变其模板类型,实现不同的模板运算。
模2多项式类及加减乘除各自运算java实现 模2多项式类及加减乘除各自运算java实现
本题目要求定义类模板实现2个数的最大值、最小值、加、减、乘、除等算术运算,在main()函数中使用该类模板分别实例化为int型和double型的类,定义相关的对象,读入2个整数和2个浮点数,然后分别输出它们的最大值、...
模二运算 理论上是mo2任意维数 #include #include using namespace std; long n,a[255][255]; int i,j; void input() { int row,col; cout请输入维数:\n"; cin>>n; cout请输入行i数:\n"; cin>>row; cout...
实验一 二进制算法实现摸指数运算
校验采用模2运算: 加法不考虑进位,减法不考虑借位,即运算结果为亦或关系。而对于除法,商由余数首位与除数首位的模2除法运算结果确定(0/1=0,1/1=1)。在接收端,可有两种方式检验传输是否发生错误:
为了提高效率, 在Dijk等人的全同态加密方案的基础上, 将模2运算改为模4运算, 并使用Gentry的全同态思想, 提出了一种更快速的全同态加密方案, 改进之后的方案一次可以加密2 bit的数据, 且公钥尺寸降低到(λ7), 从而比...
System.out.println("该程序是计算对于A的模P平方根的计算方法,A和P要求用户输入,其中P必须是素数。"); System.out.println("即求解二次同余式:x^2和A模P(x^2=a(mod p))同余式的解,");...以及大数模运算
了解二进制的运算规则,便于在理解与应用通信原理的基本知识。尤其是直接序列扩频通信在扩频的实现要用到这些知识。
若无法下载,请私信! 1.计算机执行指令的过程中,需要由(1)产生每条指令的操作信号并将...3.在(3)校验方法中,采用模2 运算来构造校验位。 A、水平奇偶 B、垂直奇偶 C、海明码 D、循环冗余 参考答案【D】
网络工程师2019上半年真题及答案、刷题 1.计算机执行指令的过程中,需要由(1)产生每条指令...3.在(3)校验方法中,采用模2 运算来构造校验位。 A、水平奇偶 B、垂直奇偶 C、海明码 D、循环冗余 参考答案【D】
循环码编码通过模2运算来建立信息位和校验位之间的约束关系。首先将所传数据看成高次多项式, 把此多项式除以预先给定的生成多项式, 其余 数作为校验位附加在所传数据的尾部一并传送, 即在一个长度为n 的码组中有k 个...
在(3)校验方法中,采用模2运算来构造校验位。 A、水平奇偶 B、垂直奇偶 C、海明码 D、循环冗余 以下关于RISC(精简指令系统计算机)技术的叙述中,错误的是(4)。 A、指令长度固定、指令种类尽量少 B、指令功能...
源代码包含128位大整数的加减乘除、取模、乘幂、2进制和10进制转换等运算,可用于大整数运算和加解密算法。