C语⾔“%”运算符
C语⾔中运算符“%”是取余运算符,⽽⾮取模运算符。(运算符“%”在C/C++, JAVA中,为取余运算,⽽在Python中为取模运算)
对于⼀个C语⾔取余表达式a % b,设其值为result,有如下公式:
1. k = (int)a / b ((int)强制类型转换,会把值向 0 ⽅向舍⼊)
2. result = a - k * b
取模和取余的区别:计算 k 的值时舍⼊的⽅向不同,取模运算符会把 a / b 的结果向负⽆穷取舍,⽽取余运算符会把 a / b 的结果向 0 取舍。(例如,-4 / 3 的取模时 k 的值为 -2 ,⽽取余时 k 的值为 -1)
例⼦:
求13 % 4的值。
1. k = (int)13 / 4 = 3
2. result = 13 - 3 * 4 = 1
所以,其值为1。
注意事项:取余运算符的两个操作数必须都是整数,且第⼆个操作数不能为零。
特殊情况:
当|a| < |b|时,值永远是 a。
当|a| = |b|时,值永远是 0。
记住我 当 a = 0 时,值永远是 0。
发布评论