在Objective C中,百分号(%)在数学上做了什么?

时间:2014-03-24 00:51:10

标签: objective-c

我非常困惑目标C中的百分号是什么。有人能用语言向我解释像我这样的普通白痴能理解吗?!谢谢。

4 个答案:

答案 0 :(得分:3)

Same as what it does in C,它是“模数”(也称为整数余数)。

答案 1 :(得分:3)

%是模运算符,因此例如10%3将导致1。

如果您有一些数字ab,则a % b会为您提供余下的a除以b

所以在示例10 % 3中,10除以3是3,余数为1,所以答案是1。

如果a没有余数除以b,则答案为零,例如4 % 2 = 0

Here's a relevant SO question about modular arithmetic

答案 2 :(得分:0)

%是模运算符。它返回<number> / <number>的余数。例如:

5 % 2 

表示5 / 2,等于2,余数为1,因此,1是返回的值。这里有一些例子:

3 % 3 == 0 //remainder of 3/3 is 0
6 % 3 == 0 //remainder of 6/3 is 0
5 % 3 == 2 //remainder of 5/3 is 2
15 % 4 == 3 //remainder of 15/4 is 3
99 % 30 == 9 //remainder of 99/30 is 9

模数的定义是:

  

<强> MOD·U·罗

     

(数论)关于或使用指定数量的模数。如果两个数字除以该数字给出相同的余数,则两个数字是一致的给定数字的模数。

答案 3 :(得分:0)

在数学中,百分号%(称为模数(有时称为余数运算符))是将找到两个x和y的余数的运算符。数学上讲,如果x / y = {(z,r):y * z + r = x},则所有x,y和z均为整数,则 x%y = {r:∃z:x / y =(z,r)}。因此,例如10%3 = 1。

关于模数的一些定理和性质

  • 如果x
  • x%1 = 0
  • x%x = 0
  • 如果n
  • x仅当x%2 = 0时才是
  • 如果且仅当x%2 = 1时,x才是奇怪的
  • 还有更多!

现在,一个人可能会问:我们如何找到x%y?好吧,这是一种相当简单的方法:

  1. 进行长除法。我可以解释如何做,但是,这里有一个指向解释长除法的页面的链接:https://www.mathsisfun.com/numbers/long-division-index.html

  2. 停在分数上。一旦我们到达通常将答案写成分数的部分,就应该停止。因此,例如101/2将为50.5,但是,正如我们所说,我们将停在小数部分,因此我们的答案最终为50。

  3. 输出剩下的答案。这是一个示例:103/3。首先,做长司。 103-90 =13。13-12 =1。现在,正如我们所说,我们停在小数部分。因此,我们不再继续该过程并获得答案34.3333333 ...,而是得到34。最后,我们输出余数,在这种情况下为1。

注意:一些数学家写的是x mod y而不是x%y,但是大多数编程语言只能理解%。