`

模2运算

    博客分类:
  • Math
 
阅读更多
模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乘的运算规则介绍 关于模2加和模2乘的运算规则介绍

    C语言实现模二除法

    用C语言实现模二除法。 模2除法结果与异或相同,与算术除法类似,但每一位除的结果不影响其它位,即不向上一位借位。在循环冗余校验码(CRC)的计算中有应用到模2除法。

    多项式的模幂运算

    有限域F2 多项式的模幂运算 对指数进行二进制分解 结合位运算 加快运算速度

    a^b mod n 模乘运算

    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多项式类及加减乘除各自运算java实现

    定义类模板实现2个数的算术运算

    本题目要求定义类模板实现2个数的最大值、最小值、加、减、乘、除等算术运算,在main()函数中使用该类模板分别实例化为int型和double型的类,定义相关的对象,读入2个整数和2个浮点数,然后分别输出它们的最大值、...

    模二运算 理论上是mo2任意维数

    模二运算 理论上是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...

    实验一 二进制算法实现摸指数运算

    实验一 二进制算法实现摸指数运算

    CRC_16校验的FPGA实现

    校验采用模2运算: 加法不考虑进位,减法不考虑借位,即运算结果为亦或关系。而对于除法,商由余数首位与除数首位的模2除法运算结果确定(0/1=0,1/1=1)。在接收端,可有两种方式检验传输是否发生错误:

    论文研究-整数上的全同态加密方案的改进.pdf

    为了提高效率, 在Dijk等人的全同态加密方案的基础上, 将模2运算改为模4运算, 并使用Gentry的全同态思想, 提出了一种更快速的全同态加密方案, 改进之后的方案一次可以加密2 bit的数据, 且公钥尺寸降低到(λ7), 从而比...

    A的模P平方根的计算方法和大数的模运算-java

    System.out.println("该程序是计算对于A的模P平方根的计算方法,A和P要求用户输入,其中P必须是素数。"); System.out.println("即求解二次同余式:x^2和A模P(x^2=a(mod p))同余式的解,");...以及大数模运算

    模2乘与模2加运算规则

    了解二进制的运算规则,便于在理解与应用通信原理的基本知识。尤其是直接序列扩频通信在扩频的实现要用到这些知识。

    2019上半年网络工程师真题及答案.pdf

    若无法下载,请私信! 1.计算机执行指令的过程中,需要由(1)产生每条指令的操作信号并将...3.在(3)校验方法中,采用模2 运算来构造校验位。 A、水平奇偶 B、垂直奇偶 C、海明码 D、循环冗余 参考答案【D】

    2019上半年网络工程师真题及答案+刷题.pdf

    网络工程师2019上半年真题及答案、刷题 1.计算机执行指令的过程中,需要由(1)产生每条指令...3.在(3)校验方法中,采用模2 运算来构造校验位。 A、水平奇偶 B、垂直奇偶 C、海明码 D、循环冗余 参考答案【D】

    海明纠错码与CRC循环冗余校验

    循环码编码通过模2运算来建立信息位和校验位之间的约束关系。首先将所传数据看成高次多项式, 把此多项式除以预先给定的生成多项式, 其余 数作为校验位附加在所传数据的尾部一并传送, 即在一个长度为n 的码组中有k 个...

    2019年上半年网络工程师上午真题及答案解析.docx

    在(3)校验方法中,采用模2运算来构造校验位。 A、水平奇偶 B、垂直奇偶 C、海明码 D、循环冗余 以下关于RISC(精简指令系统计算机)技术的叙述中,错误的是(4)。 A、指令长度固定、指令种类尽量少 B、指令功能...

    128位大整数运算源代码

    源代码包含128位大整数的加减乘除、取模、乘幂、2进制和10进制转换等运算,可用于大整数运算和加解密算法。

Global site tag (gtag.js) - Google Analytics