这样的精度浮点数问题如何解决?
绘制一条y=sin(x) 的曲线, 但是window没有绘制浮点数的函数。
所以绘制的时候,很容易出现问题,比如 y=0.7, 实际上绘制的值是0,
代码如下:
float x=-150.0f;
float y=0.0f;
MoveToEx(hdc,0,0,NULL);
while(x<150.0f)
{
y=sin(x);
LineTo(hdc,x,y);
x+=1.5f;
}
最终的结果是一条直线,显然不符合我们的需求,
如何解决?
[解决办法]
0.7 * 100 = 70