c-为什么需要float函数

  • 本文关键字:float 函数 c graphics
  • 更新时间 :
  • 英文 :


//DDA函数用于行生成这里,对于计算x和y中的增量,使用float,需要在那里使用float,如果不使用会影响的内容

void DDA(int X0, int Y0, int X1, int Y1) 
{ 
// calculate dx & dy 
int dx = X1 - X0; 
int dy = Y1 - Y0; 
// calculate steps required for generating pixels 
int steps = abs(dx) > abs(dy) ? abs(dx) : abs(dy); 
// calculate increment in x & y for each steps 
float Xinc = dx / (float) steps; 
float Yinc = dy / (float) steps; 
// Put pixel for each step 
float X = X0; 
float Y = Y0; 
int i;
for (i = 0; i <= steps; i++) 
{ 
putpixel (X,Y,RED);  // put pixel at (X,Y) 
X += Xinc;           // increment in x at each step 
Y += Yinc;           // increment in y at each step 
delay(100);          // for visualization of line- 
// generation step by step 
} 
} 

因为变量dxdysteps是整数,所以如果不强制转换(float(dx/stepsdy/steps的结果总是整数。您也可以使用1.0 * dx/steps而不是使用(float) steps

您可以通过以下代码(或在线平台链接(进行测试:

int main() {
int a = 3;
int b = 10;
float c;
c = (float) b/ a;
printf("%fn", c);
return 0;
}

(float(将表达式类型转换为float。

如果浮动未用于:

float Xinc = dx / (float) steps;  // float Xinc = dx / steps;

然后(dx/steps(的结果将被截断为int(5/2将为2(。

相关内容

  • 没有找到相关文章

最新更新