C语言求模运算,模2除法

模2除法:模2除法是模2乘法的逆运算 。模2除法具有下列三个性质:1、当最后余数的位数小于除数位数时,除法停止 。模2加法:0 0=0,1 0=0 1=1,1 1=0模2加法是以最后位对齐竖列相加,根据模2运算法则,可以简单总结为:奇数个1相加得1,偶数个1相加得0模2减法:0-0=0,1-1=0,1-0=1,0-1=1第四式代表了模2减法的特征,从它也可得出 1=-1的结论模2乘法:一位数的模2乘法定义如下:0×0=0,0×1=0,1×0=0,1×1=1多位数的模2乘法与普通乘法一样演算,唯一的区别是,部分积相加时按模2加,即奇数个1相加得1,偶数个1相加得0 。
请问“模2运算”的原理和意义是什么呢?

C语言求模运算,模2除法


我来回答这个问题 。这个问题提出的很有趣,首先这个问题涉及到远古20000年至今还被广泛应用;其次这个问题横亘哲学、数学、现代计算机技术、通信技术等诸多学科,涉猎广泛,作为一个科普题目来说,非常有意义 。“模2运算”在我们上大学里应用数学里进制转换里涉及到,学习计算机及相关专业的基础学科里也学习到 。一、什么是模?什么是“模2运算”那么什么是“模”呢?“模”是英语“modulo”的音译,也简称为“mod”,作为名词是“模;模数;系数;模量”的意思;作为介词是“对…取模”的意思;而作为动词是“按模计算”的意思 。
是不是一头雾水了?那么说中国话,模就是对一个整数求余数的运算,也称为“取模运算”或者“取余运算”,这两种运算不太一样,当被“模”的整数为正数时,两种运算是一样的,当“模”的整数为负数时,两种运算就不一样了,这里就不展开讨论了 。为了好理解,我们可以理解为“模”就是对一个整数求余数的那个被除数 。当这个被除数为“2”时,我们就称为“模2运算” 。
比如:5 MOD 2 余 1,这里2就是模数 。二、“模2运算”原理是什么?其实“模 2运算”原理很简单,就是数学中二进制的四则运算,包含“加”、“减”、“乘”“除”,其规则和我们十进制里加减乘除四则运算规则是一样的,而不一样的是不考虑借位或进位的问题(有进位时,保留计算本位数,而不向前一位进位;减法时不够减,相当于从前一位借1当2,而前一位并不减少)这样,“模2运算”后,结果具有只针对本位有效,而对上一位、下一位不产生影响的特点 。
【C语言求模运算,模2除法】模2加法:0 0 =0,1 0 = 0 1 =1,1 1=0模 2加法是 以最后位对齐竖列相加,根据模2运算法则,可以简单总结为:奇数个1相加得1,偶数个1相加得0模2减法:0-0 = 0,1-1 = 0,1-0=1,0-1=1第四式代表了模2减法的特征,从它也可得出 1=-1的结论模2乘法:一位数的模2乘法定义如下:0×0=0,0×1=0,1×0=0,1×1=1多位数的模2乘法与普通乘法一样演算,唯一的区别是,部分积相加时按模2加,即奇数个1相加得1,偶数个1相加得0 。
模2除法:模2除法是模2乘法的逆运算 。模2除法具有下列三个性质:1、当最后余数的位数小于除数位数时,除法停止 。2、当被除数的位数小于除数位数时,则商数为0,被除数就是余数 。3、只要被除数或部分余数的位数与除数一样多,且最高位为1,不管其他位是什么数,皆可商1 。三、“模 2运算”是为什么发明的?“模2运算”是为了机器运算而发明的 。
这是德国天才大师莱布尼茨(Gottfried Wilhelm Leibniz,1646 - 1716)受中国《周易》影响和启发,为了解决机器运算的方法,发明了完整的二进制运算法则 。莱布尼茨在1679年3月15日记录下他的二进制体系的同时,还设计了一台可以完成机械计算的机器 。这也为200多年以后电子计算机的发明奠定了基础 。

推荐阅读