余数

在算术中,当两个整数相除的结果不能以整数商表示时,余数便是其“余留下的量”。当余数为零时,被称为整除。

自然数的余数

如果   和   是两个自然数,  非0,可以证明存在两个唯一的整数   和   ,满足   且   。其中,   被称为商,   被称为余数。带余除法是一个关于如何计算余数的算法,其中提供了对此结果的证明。

例子

  • 13除以10,商为1,余数为3,13=1×10+3或13÷10=1…3。
  • 26除以4,商为6,余数为2,26=6×4+2或26÷4=6…2。
  • 56除以7,商为8,余数为0,56=8×7+0或56÷7=8。
  • 9除以10,商为0,余数为9,9=0×10+9或9÷10=0…9。(当被除数小于除数时,我们以被除数为余数。)

一般整数的余数

如果   与   是整数,  非零,那么余数   满足这样的关系:

  ,   为整数,且 。

当这样定义时,可能导致两种可能的余数。例如,除法式子 的可以表达为

 (在数学工作者中使用较多)

或

 .

即余数可能是3或−2。

这种对余数不明确的定义可能导致严重的计算问题,对于处理关键任务的系统,错误的选择会导致严重的后果。在一些组合语言系统中,会有特殊的除法指令,设定余数和被除数同号。

在上面的例子,负余数为正余数减5得来,5即是除数   。通常,当除以   时,如果正余数为 ,负余数为 ,那么

 。

Python 2.7语言定义的除法中,不能整除的情况下,余数与除数同号,例如 表达为

 

而   则表达为

 

实数的余数

当   和   是实数,且   非零,  除以   会得到另一个实数(商),没有所谓的剩余的数.但如果要求商为一个整数,则余数的概念还是有必要的。可以证明:存在唯一的整数商   和唯一的实数r 使得: ,  。在整数除法里,余数可以要求为负,即满足关系: 。

如上在实数范围内扩展余数的定义在数学理论中并不重要;尽管如此,很多程序语言都实现了这个定义—参同余。

参见