大家好,又见面了,我是你们的朋友全栈君。
笔记摘自《极客学院》
求余运算(a % b)是计算b的多少倍刚刚好可以容入a,返回多出来的那部分(余数)。
注意:
求余运算(%)在其他语言也叫取模运算。然而严格说来,我们看该运算符对负数的操作结果,”求余”比”取模”更合适些。
我们来谈谈取余是怎么回事,计算9 % 4,你先计算出4的多少倍会刚好可以容入9中:
2倍,非常好,那余数是1(用橙色标出)
在 Swift 中可以表达为:
代码语言:javascript代码运行次数:0运行复制 9 % 4 // 等于 1为了得到a % b的结果,%计算了以下等式,并输出余数作为结果:
代码语言:javascript代码运行次数:0运行复制a = (b × 倍数) + 余数当倍数取最大值的时候,就会刚好可以容入a中。
把9和4代入等式中,我们得1:
代码语言:javascript代码运行次数:0运行复制9 = (4 × 2) + 1同样的方法,我来们计算 -9 % 4:
代码语言:javascript代码运行次数:0运行复制 -9 % 4 // 等于 -1把-9和4代入等式,-2是取到的最大整数:
代码语言:javascript代码运行次数:0运行复制-9 = (4 × -2) + -1余数是-1。
在对负数b求余时,b的符号会被忽略。这意味着 a % b 和 a % -b的结果是相同的。
浮点数求余计算不同于 C 语言和 Objective-C,Swift 中是可以对浮点数进行求余的。
代码语言:javascript代码运行次数:0运行复制 8 % 2.5 // 等于 0.5这个例子中,8除于2.5等于3余0.5,所以结果是一个Double值0.5。
其实其他语言都是同样的(下面就以java为实例):
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/166701.html原文链接:https://javaforall.cn