Division en langage C

Annuaire

Regardez d'abord le code

en conclusion:

Améliorer:


Regardez d'abord le code

#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;


}

Résultat de sortie :

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 conclusion:

En langage C, / est arrondi à l'inférieur, la situation spécifique :

type de dividende type de diviseur type de quotient résultat de sortie
entier entier entier arrondir vers le bas
entier entier point flottant arrondir vers le bas +.0000
point flottant entier point flottant arrondir
entier point flottant entier arrondir vers le bas
point flottant entier entier arrondir vers le bas
entier point flottant point flottant arrondir
point flottant point flottant entier arrondir vers le bas
point flottant point flottant point flottant arrondir

En résumé, l'arrondi n'est effectué que lorsque tous sont des types à virgule flottante, que le dividende et le quotient sont des types à virgule flottante et que le diviseur et le quotient sont des types à virgule flottante.

Améliorer:

Si nous voulons être arrondis: faites simplement du résultat un flottant arrondi, puis +0,5 et arrondissez (cast).

Par exemple

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

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

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

Je suppose que tu aimes

Origine blog.csdn.net/weixin_48060069/article/details/127108902
conseillé
Classement