我需要找到浮点数的模。
为此,我正在使用
NSLog(@"value >> %f",fmodf(2.0f, 0.1f));
此输出应为0.0f
但是我得到的输出值>> 0.1
怎么样?
最佳答案
编译器将源文本0.1f
转换为最接近的可表示值。最接近.1的IEEE-754 32位浮点值(iOS使用)为0.100000001490116119384765625。
您使用参数2和0.100000001490116119384765625评估fmodf
。从2中减去后者值的19倍后,残差为0.099999971687793731689453125,因此是返回值。当四舍五入到几位数显示时,结果为“ 0.1”。
关于iphone - fmodf的问题,用于获取Modulo,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15447006/