【问题标题】:Simple Modulo expression [duplicate]简单的模数表达式[重复]
【发布时间】:2015-08-23 12:02:29
【问题描述】:

我知道 mod 运算符会找到两个数字的余数。但是,当数字颠倒时,我无法理解这个概念。意思是,较小的数字首先出现在操作中。

    int x = 4 % 3 ; // prints out 1

但是,谁能给我解释一下:

     int y = 1 % 4 ; //  prints out 1
     int z = 2 % 3 ; // prints out 2

提前致谢!

【问题讨论】:

  • 对不起,我现在就解决这个问题

标签: java operators


【解决方案1】:

运算符的左侧是否大于右侧无关紧要。任何除法运算总是有余数,只是有时它是0。

所以5 % 2 返回1,就像4 % 3 返回 1。

x % n 形式的任何模运算的值将是 0 到 n - 1(含),对于正数 x。对于负数 x,它将是 -1(n-1) 到 0(含)。

【讨论】:

    【解决方案2】:

    你确定打印出 2 的 int y 吗?

    int z 虽然看起来很正常: 2= 0*3 + 2

    int y = 1 % 4 应该打印 1 因为: 1=0*4 + 1

    它的工作原理与较大的数字先出现时相同,您只需将第一个除以第二个的余数即可。

    【讨论】:

      猜你喜欢
      • 2020-09-07
      • 2021-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-01
      • 1970-01-01
      相关资源
      最近更新 更多