浮点数能进行取模运算吗?(不行,暂时只能是两个整数之间)

自己在Dev里验证了,浮点数取模时有编译错误,通不过。
如:[Error] invalid operands of types ‘double’ and ‘int’ to binary ‘operator%’
代码:

#include<iostream>
using namespace std;

int main()
{
	float a=2.5;
	float b=3.0;
//	cout<<a%2<<endl; //[Error] invalid operands of types 'float' and 'int' to binary 'operator%'
//	cout<<b%2<<endl;
	cout<<3.0%2<<endl;  //[Error] invalid operands of types 'double' and 'int' to binary 'operator%' 
	return 0;
}

以下是网上搜集到的一些资料:
问:为什么2.1%10=2
带小数的取模运算是怎么算的?
答:
指令可以用来计算两个浮点数取余结果。
既然处理器有这种指令,那就也就用函数可以用。C语言中有fmod函数可以用来计算两个浮点数取余,也可以用fmodf。
也可以上网搜下FPREM和FPREM1两条指令的用法。

精度问题,有时候不必太在意

至于浮点数取模,没用过
模运算,在数学里,是针对两整数而言的

也许java里有它自己的定义吧


版权声明:本文为deniece1原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
THE END
< <上一篇
下一篇>>