余数
自然数的余数
如果a和d是两个自然数,d非0,可以证明存在两个唯一的整数q和r,满足a = qd + r 且0 ≤ r < d。其中,q被称为商, r被称为余数。带余除法是一个关于如何计算余数的算法,其中提供了对此结果的证明。
例子
- 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。(当被除数小于除数时,我们以被除数为余数。)
一般整数的余数
如果a 与d 是整数,d 非零,那么余数r 满足这样的关系:
- a = qd + r , q 为整数,且0 ≤ |r| < |d|。
当这样定义时,可能导致两种可能的余数。例如,除法式子(−42) / (−5)的可以表达为
- −42 = 9×(−5) + 3(在数学工作者中使用较多)
或
- −42 = 8×(−5) + (−2).
即余数可能是3或−2。
这种对余数不明确的定义可能导致严重的计算问题,对于處理关键任务的系统,错误的选择会导致严重的后果。在一些組合語言系統中,會有特殊的除法指令,設定余数和被除數同號。
在上面的例子,负余数为正余数减5得来,5即是除数d.通常,当除以d 时,如果正余数为r1,负余数为r2,那么
- r2 = r1 + d.
Python2.7语言定义的除法中,不能整除的情况下,余数与除数同号,例如 (−42) / (−5) 表达为
- −42 = 8×(−5) + (−2)
而 42 / (-5) 则表达为
- 42 = (−9)×(−5) + (-3)
实数的余数
当a 和d 是实数,且d 非零, a 除以d 会得到另一个实数(商),没有所谓的剩余的数.但如果要求商为一个整数,则余数的概念还是有必要的。可以证明:存在唯一的整数商q 和唯一的实数r 使得: a = qd + r, 0≤ r < |d|.在整数除法裡,余数可以要求为负,即满足关系: -|d| < r ≤ 0.
如上在实数范围内扩展余数的定义在数学理论中并不重要;尽管如此,很多程序语言都实现了这个定义—参同餘.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.