为什么模数运算符只扩展到原始类型,如int,longs short等,而不是像浮点数和双精度这样的浮动数据类型?
答案 0 :(得分:0)
这取决于你如何定义模数。
13 % 5
是3
,因为当您在整数域中进行除法时,它会留下什么。
在真实网域中(您不限于整数结果),13.0 % 5.0
的结果将为零,因为十三分为五,均为1.6
。
现在C 拥有浮点模数函数fmod
,但它更像是两个域之间的混合。例如,fmod (18.5, 4.2)
给出1.7
,当从4.2
中减去18.5
值的最大积分时,剩余的数量不会消极。
但那不是%
模数运算符。