负数取模运算问题,比如 12%-5=2,请问是怎么算出来的?

2025-03-24 19:30:21
推荐回答(2个)
回答1:

我用C++BUILDER6试了一下,果然是2,出乎意料,
因为一般除法取余,很少涉及负数,所以以前也没有多想过。
负数取余,那只好现场自行总结了:
只有三种情况:
12%(-5)=2 因为商是 -2 ,所以余数 2
(-12)%(-5)=-2 因为商是 2, 所以余数 -2
(-12)%5=-2 因为商是 -2 ,所以余数是-2
因为商好定,有了商就可计算出余数,
所以: 取余的结果正负号 跟被除数总是一样。

回答2:

一个数取模运算,就是这个数除以模数所得的余数,如果的出来的余数是正的那么这个余数就是结果,如果余数是负的,那么再加上一个模数使之变成正数这个正数就是结果