División en lenguaje C

Directorio

primero mira el codigo

en conclusión:

Mejorar:


primero mira el codigo

#include <stdio.h>

int main()
{
	int a=5,a1=14,b=2,c=10,d=3;
	float a2 = 14.00,c1 = 10.00,d1 = 3.00;
	int num1,num2, num3,num31,num32,num322;
	float num11,num21,num22,num33,num311,num3111;
	
	num1 = a / b;
	num11 = a/b;
	
	num2 = c / d;
	num21 = a1/d1;
	num22 =c / d;

	num3 = c1 / d;
	num31 = c/d1;
	num311=c/d1;
	num3111=c1 / d;
	num32 = c1/d1;
	num322= a2/d1;
	num33 = c1/d1;//都为浮点型。
	printf("num1 = %d,num11 = %f\n",num1,num11);
	printf("num2 = %d,num21 = %.2f,num22 = %f\n",num2,num21,num22);
	printf("num3 = %d,num31 = %d,num311 = %.2f,num3111= %.2f,num32 = %d,num322= %d,num33 = %f\n",num3,num31,num311,num3111,num32,num322,num33);
	return 0;


}

Resultado de salida:

num1 = 2,num11 = 2.000000  
num2 = 3,num21 = 4.67,num22 = 3.000000
num3 = 3,num31 = 3,num311 = 3.33,num3111= 3.33,num32 = 3,num322= 4,num33 = 3.333333


en conclusión:

En lenguaje C, / se redondea hacia abajo, la situación específica:

tipo de dividendo tipo de divisor tipo de cociente resultado de salida
entero entero entero redondear a la baja
entero entero punto flotante redondear hacia abajo +.0000
punto flotante entero punto flotante redondeo
entero punto flotante entero redondear a la baja
punto flotante entero entero redondear a la baja
entero punto flotante punto flotante redondeo
punto flotante punto flotante entero redondear a la baja
punto flotante punto flotante punto flotante redondeo

En resumen, el redondeo solo se realiza cuando todos son de coma flotante, el dividendo y el cociente son de coma flotante y el divisor y el cociente son de coma flotante, en otros casos se redondea hacia abajo.

Mejorar:

Si queremos redondear hacia arriba: simplemente haga que el resultado sea un flotador redondeado, luego +0.5 y redondee hacia arriba (lanzar).

Por ejemplo

5.00/2 = 2.50, int( 2.50+.5)=3。

14/3.00= 4.67,int (4.67+.5)=5。

10.00/3.00= 3.33,int (3.33+.5)=3。

Supongo que te gusta

Origin blog.csdn.net/weixin_48060069/article/details/127108902
Recomendado
Clasificación