首页 > 手机 > 配件 > C语言求模运算,模2除法

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

来源:整理 时间:2022-04-09 04:42:05 编辑:华为40 手机版

模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运算”的原理和意义是什么呢?

请问“模2运算”的原理和意义是什么呢

我来回答这个问题。这个问题提出的很有趣,首先这个问题涉及到远古20000年至今还被广泛应用;其次这个问题横亘哲学、数学、现代计算机技术、通信技术等诸多学科,涉猎广泛,作为一个科普题目来说,非常有意义。“模2运算”在我们上大学里应用数学里进制转换里涉及到,学习计算机及相关专业的基础学科里也学习到。一、什么是模?什么是“模2运算”那么什么是“模”呢?“模”是英语“modulo”的音译,也简称为“mod”,作为名词是“模;模数;系数;模量”的意思;作为介词是“对…取模”的意思;而作为动词是“按模计算”的意思。

是不是一头雾水了?那么说中国话,模就是对一个整数求余数的运算,也称为“取模运算”或者“取余运算”,这两种运算不太一样,当被“模”的整数为正数时,两种运算是一样的,当“模”的整数为负数时,两种运算就不一样了,这里就不展开讨论了。为了好理解,我们可以理解为“模”就是对一个整数求余数的那个被除数。当这个被除数为“2”时,我们就称为“模2运算”。

比如:5 MOD 2 余 1,这里2就是模数。 二、“模2运算”原理是什么?其实“模 2运算”原理很简单 ,就是数学中二进制的四则运算,包含“加”、“减”、“乘”“除”,其规则和我们十进制里加减乘除四则运算规则是一样的,而不一样的是不考虑借位或进位的问题(有进位时,保留计算本位数 ,而不向前一位进位;减法时不够减,相当于从前一位借1当2,而前一位并不减少)这样,“模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多年以后电子计算机的发明奠定了基础。

四、现在“模2运算”主要应用“模2运算”应用十分广泛,主要应用于数据存储及数据传输、数据通信时对数据正确性的校验方面。著名的通讯协议X.25的FCS(帧检错序列)采用的是CRC-CCITT,WinRAR、NERO、ARJ、LHA等压缩工具软件采用的是CRC32,磁盘驱动器的读写采用了CRC16,通用的图像存储格式GIF、TIFF等也都用CRC作为检错手段。

由于我们现代的通信技术都是采用数字技术,在传输中,存在着模-数、数-模多次转换 。在数字传输中,都是将各种信息转换为二进制进行传输的。传输有可能是有线传输,也可能是无线传输。受传输手段或者传输距离等影响,不可避免产生干扰,对传输质量肯定要带来影响。于是,人们就发明了一个在传输数据的同时,加上一个“校验数据”。

现在数字通信采用的是CRC(Cyclic Redundancy Check)校验方法也叫循环冗余校验方法。其特点是:检错能力强,开销小,易于用编码器及检测电路实现。从其检错能力来看,它所不能发现的错误的几率仅为0.0047%以下。从性能上和开销上考虑,均远远优于奇偶校验及算术和校验等方式。由于篇幅有限,我就不一一展开说明,以后我会以文章形式进行科普。

文章TAG:C语言求模除法运算

最近更新