我在OSU任教已近两年了,这总是令我惊讶,我从学生那里学到了多少。 例如,过去, 我让学生写一些我不理解的奇怪代码 。 在这一点上,即使经过300多个博客文章, 几个YouTube视频 ,甚至从100多种语言中收集代码段 ,您都认为我已经看完了。 好吧,最近,我看到一个学生在双打中使用余数运算符( %
),从那以后我就再也没有真正的相同了。
余数与模运算符
在开始讲故事之前,我想先介绍一下余数运算符和模数运算符。 在Java中, 没有模运算符 。 相反, %
是余数运算符。 对于正数,它们在功能上是等效的。 但是,一旦开始使用负数,我们将看到令人惊讶的差异。
我已经在有关RSA加密的文章中谈到了这种差异。 就是说,我找到了另一个很好的来源 ,可以比较Java,Python,PHP和C等各种语言中的“模”运算符。