余数和商的“%%”和“%/%”

时间:2012-07-26 13:08:06

标签: r

我想知道运算符%%%/%是如何以及为什么是余数和商。

R开发人员有没有任何理由或历史给他们带来的意义?

 > 0 %/% 10
[1] 0
> 30 %% 10
[1] 0
> 35 %/% 10
[1] 3
> 35 %% 10
[1] 5

3 个答案:

答案 0 :(得分:34)

在R中,您可以使用%[characters]%指定自己的运算符。一个简单的例子:

'%p%' <- function(x, y){x^2 + y}

2 %p% 3 # result: 7

虽然我同意BlueTrin %%非常标准,但我怀疑%/%可能与我上面展示的运算符定义有关 - 也许它更容易实现,并且有道理:%/%意味着做一种特殊的划分(整数除法)

答案 1 :(得分:11)

请查看以下示例,以便更清楚地了解不同运营商之间的差异:

> # Floating Division:
> 5/2
[1] 2.5
> 
> # Integer Division:
> 5%/%2
[1] 2
> 
> # Remainder:
> 5%%2
[1] 1

答案 2 :(得分:10)

我认为这是因为%经常与许多编程语言中的模运算符相关联。

就是这种情况,例如,在C,C ++,C#和Java中,还有许多其他语言从C语言中获取它们的语法(C本身从B中获取它)。