3 回答
TA贡献1851条经验 获得超4个赞
%在C中是指“mod”还是“rem”?
%
.的结果 /算子是带任意小数部分的代数商.(这通常被称为“向零截断”)。C11dr§6.5.5 6
的操作数 %运算符应具有整数类型。C11dr§6.5.5 2
的结果 /运算符是从第一个操作数除以第二个操作数的商; %运算符是 余数..C11dr§6.5.5 5
“MOD”和“余数”有什么区别?
a%ba
// a % b 7 % 3 --> 1 7 % -3 --> 1 -7 % 3 --> -1 -7 % -3 --> -1
7 modulo 3 --> 1 7 modulo -3 --> 1 -7 modulo 3 --> 2 -7 modulo -3 --> 2
int modulo_Euclidean(int a, int b) {
int m = a % b;
if (m < 0) {
// m += (b < 0) ? -b : b; // avoid this form: it is UB when b == INT_MIN
m = (b < 0) ? m - b : m + b;
}
return m;}double fmod(double x, double y)
这个 fmod的浮点余数。 x/y..C11dr§7.12.10.1 2
fmod( 7, 3) --> 1.0 fmod( 7, -3) --> 1.0 fmod(-7, 3) --> -1.0 fmod(-7, -3) --> -1.0
double modf(double value, double *iptr)
1%/%modulo_Euclidean()
TA贡献1797条经验 获得超6个赞
7 % 3 = 1 // dividend % divisor = remainder
- 3 回答
- 0 关注
- 701 浏览
添加回答
举报
