编程基础
概述
在整数除法和取余运算中,被除数除以除数得到一个整数商和一个余数。整数商操作称为整数除法,整数余数操作称为取余。
讨论
当我们成年后,通常会认为除法得到的结果可能包含一个小数部分(浮点数据类型)。这种类型的除法称为浮点除法。然而,当两个操作数都是整数数据类型时,除法的行为可能会有所不同,具体取决于编程语言,这时称为:整数除法。例如:
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: 取模操作