为什么模数运算符不会扩展到除整数类型之外的其他数据类型?

时间:2015-04-30 04:11:53

标签: c numbers modulus primitive-types

为什么模数运算符只扩展到原始类型,如int,longs short等,而不是像浮点数和双精度这样的浮动数据类型?

1 个答案:

答案 0 :(得分:0)

这取决于你如何定义模数。

13 % 53,因为当您在整数域中进行除法时,它会留下什么。

在真实网域中(您不限于整数结果),13.0 % 5.0的结果将为零,因为十三分为五,均为1.6

现在C 拥有浮点模数函数fmod,但它更像是两个域之间的混合。例如,fmod (18.5, 4.2)给出1.7,当从4.2中减去18.5值的最大积分时,剩余的数量不会消极。

但那不是%模数运算符。