概述

在整数除法和取余运算中,被除数除以除数得到一个整数商和一个余数。整数商操作称为整数除法,整数余数操作称为取余。

讨论

当我们成年后,通常会认为除法得到的结果可能包含一个小数部分(浮点数据类型)。这种类型的除法称为浮点除法。然而,当两个操作数都是整数数据类型时,除法的行为可能会有所不同,具体取决于编程语言,这时称为:整数除法。例如:

11 / 4

由于两个操作数都是整数数据类型,表达式的结果(或答案)将是 2,没有小数部分(小数部分会被舍去)。这种类型的除法称为整数除法,这也是你在小学第一次学习除法时学到的。

在数据操作的实际应用中,有些东西总是以整数单位处理(整数数据类型)。小数根本不存在。举个例子:我有 11 枚一美元硬币,要均匀分配给我的 4 个孩子。每个孩子能得到多少?答案是 2 个,剩下 3 个(或者我手上还剩 3 个)。答案不是每个孩子 2 ¾ 个或 2.75 个。硬币不能被分成小数部分。不要跳出框框思考,假装自己是海盗,用斧头把剩下的 3 枚硬币劈成八块,再给每个孩子 2 枚硬币和 6 块硬币,或者 2 6/8 或 2 ¾ 或 2.75。如果你真的这么想,我会把例子改成番茄汤罐头。我敢打赌你不会想把三罐番茄汤劈开,给每个孩子 ¾ 罐。

取余是什么? 它是整数除法结果中的另一个部分,即余数。记得在小学时你会说:“11 除以 4 得 2,余 3。”在许多编程语言中,取余操作符的符号是百分号(%)。

11 % 4

因此,这个表达式的结果或值是 3,即整数除法中的余数部分。

许多编译器要求取余操作符两边的操作数必须是整数,否则会报编译错误。换句话说,不能用浮点数操作数来进行取余运算。

不要让以下内容让你感到困惑:

6 / 24 和 6 % 24 是不同的

你能把 24 除进 6 吗?6 除以 24 等于 0。这与:6 除以 24 的余数是多少?不同,余数部分由取余运算给出。

评估以下除法表达式:

14 / 4
5 / 13
7 / 2.0

评估以下取余表达式:

14 % 4
5 % 13
7 % 2.0

解答:

14 % 4 = 2
5 % 13 = 5
7 % 2.0 = 1.0

关键术语

  • 整数除法:没有小数部分的除法,结果是“商”。
  • 取余:整数除法中的余数部分。

参考文献

  • cnx.org: 《编程基础 - 使用 C++ 的模块化结构化方法》
  • Wikipedia: 除法(数学)
  • Wikipedia: 取模操作
最后修改: 2025年01月10日 星期五 15:49