c++中,-5%3和5%-3是如何计算的,他们的结果一样么

2025-02-06 04:17:26
推荐回答(4个)
回答1:

  1. 求余符号跟正负没有关系。

  2. n % m的定义是 n = k * m + p,  n、m、k、p是整数。

  3. k=[n/m] ,方括号的含义是不大于n/m的最大整数;

  4. 5 =(-1)*(-3)+ 2; 此时, k = [n/m] = [5/(-3)] = -1 ;余数p = 2;

    5 = 1 * 3 + 2; 此时, k = [n/m] = [5/3] = 1 ;余数p = 2;

    -5 = (-1)* 3 +(-2); 此时, k = [n/m] = [(-5)/3] = 1 ;余数p = -2;

回答2:

-5%3=-2,5%-3=2。
既然%是取余除,那剩下的余数肯定与被除数同符号,否则就太不可思议了……

回答3:

1.建议你以后这种问题直接在软件里面运行就知道了 2.%是取余符号,计算结果就是余数,正数和负数余数肯定不一样嘛,-5余数是-2,5余数是2。3.计算机做算术过程和人是一样的,-5%3=1...-2,5/-3=-1....2

回答4:

-5%3 是 -25%-3 是 2