我有两个CGFloat值,想要计算它们的模数结果。换句话说:我想知道如果将valueA尽可能多地放入valueB中,剩下的是什么。 那么我尝试了以下代码:CGFloat moduloResult = valueB % valueA; 编译器报错并告诉我:"invalid operands to binary %",这是怎么回事?
如果我没记错,取模运算需要两个整数作为输入,所以你需要这样做:CGFloat moduloResult = (float)((int)valueB % (int)valueA); 假设valueB和valueA都是浮点数。
tgmath.h
是“类型通用”的(因此有“tg”),因此将根据您输入的数据类型来决定调用哪个math.h
函数。例如,如果包含了tgmath.h
并调用floor(x)
,则会调用math.h
中的floorf(x)
如果x
是float
类型,调用floor(x)
如果x
是double
类型,或者调用floorl(x)
如果x
是long double
类型。 - George WS