c语言中5%(-3)和(-5)%(-3)的值是什么 求详解还有为什么要这样解

Python016

c语言中5%(-3)和(-5)%(-3)的值是什么 求详解还有为什么要这样解,第1张

5%(-3)的值是2,(-5)%(-3)是-2。因为%被俗称为“取余除”操作符,就是取除数除以除数后的余数作为计算结果。既然结果是余数,那么余数的符号肯定是与被除数的符号相同了……

编程语言除法主要是以以下方程为准:

被除数

=

商数*除数

+

余数

余数的定义为剩下的数,故负余数没实际意义,所以余数都须是正数。

换个角度,余数则为“为等于被除数所须加上的最小正数”

对还有楼上所说的。

操作符‘/’和‘%’代表整除和取余:若x和y都是正整数时x/y和x%y的结果都容易确定;但当x和y有负数时,结果就和具体的机器有关,但必有满足x=(x/y)*y+x%y。

所以c=5%-3=5-(5/-3)*(-3)=5+1*(-3)=2

d=-5%-3=-5-(-5/-3)*(-3)=-5-1*(-3)=-5+3=-2