余数和商的"%%"和"%/%"

KH *_*Kim 49 r

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

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

 > 0 %/% 10
[1] 0
> 30 %% 10
[1] 0
> 35 %/% 10
[1] 3
> 35 %% 10
[1] 5
Run Code Online (Sandbox Code Playgroud)

Edw*_*ard 36

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

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

2 %p% 3 # result: 7
Run Code Online (Sandbox Code Playgroud)

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


dat*_*Leo 16

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

> # Floating Division:
> 5/2
[1] 2.5
> 
> # Integer Division:
> 5%/%2
[1] 2
> 
> # Remainder:
> 5%%2
[1] 1
Run Code Online (Sandbox Code Playgroud)


Blu*_*rin 10

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

例如,在C,C++,C#和Java中,以及从C派生其语法的许多其他语言就是这种情况(C本身从B中获取它).