我想知道运算符%%
和%/%
是如何以及为什么是余数和商。
R开发人员有没有任何理由或历史给他们带来的意义?
> 0 %/% 10
[1] 0
> 30 %% 10
[1] 0
> 35 %/% 10
[1] 3
> 35 %% 10
[1] 5
答案 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中获取它)。