余数

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

自然数的余数

如果    是两个自然数  非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 使得: ,  。在整数除法里,余数可以要求为负,即满足关系: 

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

参见