模算数 - Wikiwand
For faster navigation, this Iframe is preloading the Wikiwand page for 模算数.

模算数

维基百科,自由的百科全书

此条目没有列出任何参考或来源。 (2017年1月24日)维基百科所有的内容都应该可供查证。请协助添加来自可靠来源的引用以改善这篇条目。无法查证的内容可能被提出异议而移除。
这个时钟计时方式使用了模数为12的模算数
这个时钟计时方式使用了模数为12的模算数

模算数(modular arithmetic)是一个整数算术系统,其中数字超过一定值后(称为模)后会“卷回”到较小的数值,模算数最早是出现在卡尔·弗里德里希·高斯在1801年出版的《算术研究》一书中。

模算数常见的应用是在十二小时制,将一天分为二个以十二小时计算的单位。假设现在七点,八小时后会是三点。用一般的算术加法,会得到7 + 8 = 15,但在十二小时制中,超过十二小时会归零,不存在“十五点”。类似的情形,若时钟目前是十二时,二十一小时后会是九点,而不是三十三点。小时数超过十二后会再回到一,为模12的模算数系统。依照上述的定义,12和12本身同余,也和0同余,因此12:00的时间也可以称为是0:00,因为模12时,12和0同余。

同余关系

模算数可以在导入整数同余关系后,以数学的方式处理,同余关系和整数的加法减法乘法相容。针对正整数n,二个整数ab对于模n同余


若二数的差值abn的整数倍数(若n整除ab)。数字n称为同余关系的模。

例如

因为38 − 14 = 24,是12的倍数。

上述的概念也对负数有效:

ab mod n也可以用计算带余除法余数时,ab除以n余数相同来表示。例如

因为38和14除以12时,余数都为2。这是因为38 − 14 = 24是12的整数倍,符合之前同余关系的定义。

因为常常会考虑不同模数的同余关系,因此表示同余关系时会用ab mod n的表示法。除去三元的表示法不论,同余关系其实是二元关系,用an b就可以看出此一特性。

同余关系可以和加法、减法及乘法一起使用时。若

若模算数延伸到包括所有实数,上式也成立,也就是说a1, a2, b1, b2, n不一定都是整数,不过以下的关系在不都是整数时可能会不成立:

应用

模算数在数论群论环论纽结理论抽象代数电脑代数英语computer algebra密码学计算机科学化学中都有使用,也出现在视觉艺术音乐

模算数是数论的基础之一,也提供了群论、环论及抽象代数中一些重要的范例。

模算数也常作为识别码的校验码。例如国际银行账户号码(IBAN)就用模97的余数来避免输入编号时的错误。

在密码学中,模算数是 RSA迪菲-赫尔曼公开密钥加密系统的基础,也提到了和 椭圆曲线有关的有限域,用在许多的系统化钥算法英语symmetric key algorithm中,包括高级加密标准(AES)、国际资料加密算法(IDEA)、及RC4。RSA和迪菲-赫尔曼密钥交换用到了模幂英语modular exponentiation

在电脑代数中,模算数常用来限制中间计算的整数系数大小,也限制计算中用到的资料。模算数用在多项式分解英语polynomial factorization中(其中所有已知有效率的算法都用到了模算数),而针对整数及有理数的多项式最大公因式英语polynomial greatest common divisor线性代数Gröbner基英语Gröbner basis,最有效率解法都用到了模算数。

计算机科学中,模算数会以位操作的方式表示,也和其他定长度、循环式的数据结构有关。许多编程语言计算器中都有模除,而XOR是二个位元在模2下的和。

化学中,表示化合物编号的CAS号,最后一码是校验码,是将CAS号前二位数乘以1、下一位乘以2,再下一位乘以3……,最后对10取余数而得。

音乐上,模12的模算数用在十二平均律的系统中,其中有纯八度异名同音的情形(,例如升音符的C音和降音符的D音会视为是同一个音)。

去九法是徒手计算时快速的检查工具,是以模9的模算数为基础,而且其中最重要的性质是 10 ≡ 1 (mod 9)。

模7的模算数在许多计算特定日期是星期几的算法中出现,特别是蔡勒公式判决日法则英语doomsday algorithm中。

模算数也用在像法律(像分配数英语Apportionment (politics))、经济学(像博弈论),若一些社会科学的分析会强调资源的比例分割英语Proportional (fair division)及分配,也会用到模算数。

参考资料

相关条目

{{bottomLinkPreText}} {{bottomLinkText}}
模算数
Listen to this article