精华内容
下载资源
问答
  • 模二运算

    2016-12-21 09:49:45
    与四则运算相同,2运算也包括22减、2乘、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 01
    + 0 0 1 1
    ──────
       0 1 1 0


    模2减法运算定义为:
    0
    -0=0      0-1=1      1-0=1      1-1=0
    例如0110-0011=0101,列竖式计算:
       01 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
         00 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 10
          ────────
    1 0 1 1〕1 1 0 0 1 00
          1 0 1 1
          ──────
               1 1 1 1
           
    -1 0 1 1
          ──────
                 10 0 0
              
    -1 0 1 1
             ──────
                   01 1 0
               -0 0 0 0
             ──────
                    1 1 0



    转自  http://blog.sina.com.cn/s/blog_8e669acd0100um7x.html

    展开全文
  • 大数运算——模加运算

    千次阅读 2018-06-15 17:57:01
    一、 vs平台利用c语言对大数运算中的模加运算进行了编码。、编码思想条件:大数a 大数b p 结果r1、加法首先,判断a、b这两个大数是否小于p。如果a和b都小于p,则:若a+b>p,r=a+b-p;若a+b&...

    一、 vs平台

    利用c语言对大数运算中的模加减运算进行了编码。

    二、编码思想

    条件:大数a   大数b    模p     结果r

    1、加法

    首先,判断a、b这两个大数是否小于模p。

    如果a和b都小于模p,则:

    若a+b>p,r=a+b-p;若a+b<p,r=a+b;

     

    如果a和b其中有一个大于模p或者都大于模p,先将a或b减去p,直到a和b都小于模p为止,a1=(a-p)<p,b1=(b-p)<p,则:r=a1+b1。

    2、减法

    首先,判断a、b这两个大数是否小于模p。

    如果a和b都小于模p,则:

    若a[i] > b[i],则 r = a[i] - b[i];

    若a[i] < b[i],则 r = a[i] - b[i] + p[i]

    如果a和b其中有一个大于模p或者都大于模p,先将a或b减去p,直到a和b都小于模p为止,a1=(a-p)<p 或a1=a,b1=(b-p)<p 或b1=b;

    若a1[i] > b1[i],则 r = a1[i] – b1[i];

    若a1[i] < b1[i],则 r = a1[i] – b1[i] + p[i]

     

    注:并且存在加法就会有进位,存在减法就会有借位。

    a b < p

    若 a+b>p   则 r = a+b-p;

    若a+b<p   则 r = a+b;

     a b > p

    先a1 = (a-p)<p    b1 = (b-p)<p

    则:r = a1 + b1;

     

    a b < p

    若a>b    r=a-b

    若a<b    r=a-b+p

     a b > p

    先a1=(a-p)<p    b1=(b-p)<p

    若a1>b1     r=a-b

    若a1<b1     r=a-b+p 

    三、代码说明

    void format_conversion(Sint32 *current_datat, Sint32*objective_data);

    该函数是一个大小端转换的一个函数。

     

    Uint32 numerical_transformation(Sint32 *num_a, Sint32*num_p, Sint32 *num_b);

    该函数为将a与p进行比较,如果a>p,则进行a-p,直到a<p为止,将值赋给b;如果a<p,则将a值赋给b。

     

    Uint32 module_add_sub(Sint32 *add_sub_a, Sint32 *add_sub_b,Sint32 *add_sub_p, Uint32 mode, Sint32 *add_sub_c);

    该函数这是主体函数进行大数模加减运算。


    展开全文
  • 了解进制的运算规则,便于在理解与应用通信原理的基本知识。尤其是直接序列扩频通信在扩频的实现要用到这些知识。
  • 大数运算包含,减,乘,除,取模,幂运算运算。支持十进制运算进制运算;支持文件运算,键盘输入运算,若有需要,可提供实验报告
  • 2运算减乘除运算

    千次阅读 2020-05-05 12:30:43
    在基础的算法中,我们学的基本都是模二运算法则,什么是模二运算,这里简单做一下介绍。 模2运算 是一种二进制算法,CRC校验技术中的核心部分。与四则运算相同,模二运算也包括模二加法、模二减法、模二乘法、模二除...

    在基础的算法中,我们学的基本都是模二运算法则,什么是模二运算,这里简单做一下介绍。

    模2运算

    是一种二进制算法,CRC校验技术中的核心部分。与四则运算相同,模二运算也包括模二加法、模二减法、模二乘法、模二除法四种二进制运算。与四则运算不同的是模二运算不考虑进位和借位,模二算术是编码理论中多项式运算的基础。模二算术在其他数字领域中的应用也是很广泛的。

    移位寄存器的每一级只可能有两种不同的存数(或状态),分别用0和1来表示。这里, 0和1不再具有一般数量的含义,而只具有逻辑含义。对于这样一种只包含0和1两个元素(符号)的集合(叫做二元集)来说,普通的四则运算不再适用,因而必须重新规定一种新的运算规则。所谓模2运算就是这样一种新的运算规则。

    模2运算是一种二进制算法,CRC校验技术中的核心部分。与四则运算相同,模2运算也包括模2加、模2减、模2乘、模2除四种二进制运算。而且,模2运算也使用与四则运算相同的运算符,即“+”表示模2加,“-”表示模2减,“×”或“·”表示模2乘,“÷”或“/”表示模2除。与四则运算不同的是模2运算不考虑进位和借位,即模2加法是不带进位的二进制加法运算,模2减法是不带借位的二进制减法运算。这样,两个二进制位相运算时,这两个位的值就能确定运算结果,不受前一次运算的影响,也不对下一次造成影响。

    下面就一一介绍这几种模二运算。

    • 模二加法
      所谓“模2加法”就是0和1之间的加法,其中0+0 =0,1+0 =0+1 =1,1+1=0(!)。这种运算在通信和计算机上是常用的,而且并不神秘.你可以把0和1分别想成是“偶数”和“奇数”,那么前两个式子分别代表:偶数加偶数等于偶数,奇数加偶数等于奇数,而式1+1=0就是奇数加奇数等于偶数.对于任意多个数a1,a2,…,am(每个都是0或1),可以把它们做模2加法a1+a2+…+am。不难看出,当这m个数中有奇数个1时,结果为1,否则结果为0。

    对二进制数定义模2加法,规则非常简单:即每个数位上分别作模2加法,由此得出一个新的二进制数,例如[ 1101]+[111]+[101]=[1111],写成算式为
    在这里插入图片描述
    个位数字共有3个1,所以模2加为1(不进位)。同样的,其他数位上也均有奇数个1,不同数位之间彼此无关地运算,所以模2加法是不进位的加法。

    • 模二减法

    模2减法是一种不考虑借位的减法,其定义如下:
    0-0=0
    1-1=0
    1-0=1
    0-1=1

    同样,第四式代表了模2减法的特征,从它也可得出2=0及+1=-1的结论。在多位模减法中,每位都按上述定义进行运算,不考虑借位问题。例如:
    在这里插入图片描述
    此结果和前面模2加法的结果完全一样,进而发现关于模2运算的一个重要特点,模2加法和模2减法实际上是一回事,所有用模2减法的地方都可用模2加法来代替,故不用给模2减法定义专用的符号。

    模2加的定义可以得出一个重要结论:奇数个1相加得1,偶数个1相加得0。同样的结论:奇数个1相减的1,偶数个1相减的0。这个结论在奇偶校验中是很有用的。

    • 模二乘法

    一位数的模2乘法定义如下:
    0×0=0
    0×1=0
    1×0=0
    1×1=1

    多位数的模2乘法与普通乘法一样演算,如:
    在这里插入图片描述
    唯一的区别是,部分积相加时按模2加,即奇数个1相加得1,偶数个1相加得0。

    • 模二除法
      模2除法是模2乘法的逆运算。如:
      在这里插入图片描述
      模2除法具有下列三个性质:
    1、当最后余数的位数小于除数位数时,除法停止。
    2、当被除数的位数小于除数位数时,则商数为0,被除数就是余数。
    3、只要被除数或部分余数的位数与除数一样多,且最高位为1,不管其他位是什么数,皆可商1。
    
    展开全文
  • 模二运算基本方法

    千次阅读 2016-11-19 23:08:51
    与四则运算相同,2运算也包括22减、2乘、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

    展开全文
  • 模二运算的原理

    2015-10-16 23:20:24
    2运算是一种进制算法,CRC校验技术中的核心部分,因此,...与四则运算相同,2运算也包括22减、2乘、2除四种进制运算。而且,2运算也使用与四则运算相同的运算符,即“+”表示2,“-”表示
  • 2运算

    2020-03-28 10:29:50
    2乘运算即按2加运算求部分积之和,无进位。 2除运算即按2减运算求部分余数,不借位,其上商原则是:部分余数首位为1时,商为1,减除数;部分余数首位为0时,商为0,减0;当部分余数的位数小于除数的位数时...
  • 与四则运算相同,2运算也包括22减、2乘、2除四种进制运算。而且,2运算也使用与四则运算相同的运算符,即“+”表示2,“-”表示2减,“×”或“·”表示2乘,“÷”或“/”表示2除。...
  • 与四则运算相同,2运算也包括22减、2乘、2除四种进制运算。而且,2运算也使用与四则运算相同的运算符,即“+”表示2,“-”表示2减,“×”或“·”表示2乘,“÷”或“/”表示2除。...
  • 指数运算问题

    千次阅读 2019-04-15 13:04:51
    指数运算问题 什么叫指数运算? 求311mod223^{11}mod 22311mod22 这就是指数运算问题。 在RSA算法中,无论加密还是解密都需要用到指数运算问题。 常用的指数算法有进制法、进制NAF算法、滑动窗口算法...
  • 2运算原理

    2012-08-23 17:06:08
    与四则运算相同,2运算也包括22减、2乘、2除四种进制运算。而且,2运算也使用与四则运算相同的运算符,即“+”表示2,“-”表示2减,“×”或“·”表示2乘,“÷”或“/”表示2除。...
  • 2运算的原理

    2016-12-05 16:01:37
    与四则运算相同,2运算也包括22减、2乘、2除四种进制运算。而且,2运算也使用与四则运算相同的运算符,即“+”表示2,“-”表示2减,“×”或“·”表示2乘,“÷”或“/”表示2除。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 904
精华内容 361
关键字:

模二加运算