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

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

R开发者是否有任何理由或历史赋予他们这些意义?

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

在R中,您可以使用%[字符]%分配您自己的操作符。 一个简单的例子:

 '%p%' <- function(x, y){x^2 + y} 2 %p% 3 # result: 7 

虽然我同意BlueTrin %%是相当标准的,但我怀疑%/%可能与我上面显示的那种运算符定义有关 – 可能实现起来比较容易,而且是合理的:%/%表示做一种特殊的划分(整数划分)

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

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

希望有所帮助! 托尼

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

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