Macro MIN() en langage C

Macro Min En Langage C



Les opérations relationnelles en C sont largement utilisées et peuvent être trouvées dans presque tous les programmes écrits dans ce langage. Il existe plusieurs opérateurs dans ce langage – les plus couramment utilisés sont égal à ( = ), supérieur à ( > ) et inférieur à ( < ). Ce type d'opération est souvent utilisé dans des conditions if. Par exemple, la condition d'entrée est la valeur de la variable =, > ou < par rapport à une autre variable ou constante.

Ces opérations relationnelles sont très utiles. Mais il existe des cas où nous devons non seulement savoir si une variable est plus grande ou plus petite qu’une autre, mais également obtenir sa valeur. Bien que cela soit facile à faire avec des instructions « if » et des opérations relationnelles simples, le langage C fournit également des macros avec des fonctions qui renvoient la valeur maximale ou minimale entre deux variables.

Dans cet article Linuxhint, vous apprendrez à utiliser la macro MIN() pour trouver la valeur minimale de deux variables. Nous allons vous montrer la syntaxe, la méthode appelante et le type de données qu'elle accepte. Ensuite, nous examinerons une description de son fonctionnement et passerons en revue l’expression et la formule appliquées par cette macro.







Nous appliquons ensuite ce que nous avons appris dans un exemple pratique qui inclut des extraits de code et des images montrant comment trouver le minimum avec différents types de données comme entrées de la macro MIN().



Syntaxe de la macro MIN() en langage C

MINIMUM ( un , b )

Description de la macro MIN() en langage C



La macro MIN() renvoie la valeur minimale entre les variables « a » et « b ». L'expression affichée par la macro MIN() est une condition vrai/faux où une opération relationnelle « < » est appliquée entre les variables « a » et « b ». Si « a » est inférieur à « b », « a » est renvoyé. Si « b » est inférieur à « a », « b » est renvoyé.





#define MIN(a,b) (((a)<(b))?(a):(b))

La macro MIN() fonctionne avec tous les types de données dans ses entrées et sorties avec la seule règle selon laquelle les deux variables d'entrée doivent être des valeurs numériques.

Cette macro est définie dans l'en-tête « param.h » du dossier « sys ». Pour l'utiliser, nous devons l'insérer dans notre code comme suit :



#include

Comment trouver le minimum entre deux variables entières avec la macro MIN()

Dans cet exemple, on crée les variables « a » et « b » de type int auxquelles on attribue une valeur arbitraire et à partir de laquelle on trouve le minimum en appelant la macro MIN(). Nous générons ensuite la valeur renvoyée à l’aide de la fonction printf().

Pour ce faire, nous incluons les en-têtes « stdio.h » et « param.h » et ouvrons une fonction main() de type void. Dans celui-ci, nous définissons les entiers « a » et « b » et leur attribuons une valeur aléatoire. Nous définissons également l'entier « c » pour stocker le résultat.

Ensuite, nous appelons la macro MIN() et passons « a » et « b » comme arguments d'entrée et « c » comme arguments de sortie. Nous affichons le résultat renvoyé en appelant la fonction printf(). Voici le code de cet exemple :

#include

#include

vide principal ( ) {

int un = 32 ;

int b = 14 ;

int c ;

c = MINIMUM ( un , b ) ;

imprimer ( ' \n Le minimum est %i \n ' , c ) ;

}

Ensuite, nous voyons une image avec la compilation et l'exécution de ce code. Comme on peut le voir, la macro MIN() renvoie la valeur de « b » dans ce cas.

La même chose se produit si nous utilisons des variables de type double.

#include

#include

vide principal ( ) {

double un = 3 ;

double b = 1 ;

double c ;

c = MINIMUM ( un , b ) ;

imprimer ( ' \n Le minimum des doubles a et b est %f \n ' , c ) ;

}


Minimum et maximum avec des variables à virgule flottante

La macro MIN() est une fonction utile, mais son utilisation n'est pas recommandée pour les variables qui utilisent des valeurs à virgule flottante. Pour trouver le minimum de ce type de valeurs, la bibliothèque mathématique fournit un ensemble de fonctions définies dans l'en-tête « math.h ». Cet ensemble comprend les fonctions fmin(), fminf() et fminl(). Examinons la syntaxe suivante pour chacune de ces fonctions :

double fmin ( double X , double et ) ;
flotter fminf ( flotter X , flotter et ) ;
long double fminl ( long double X , long double et ) ;

La fonction fmin() opère sur les données de type double (8 octets) à virgule flottante. La fonction fminf() fonctionne avec les données de type float (4 octets), tandis que fminl() fonctionne avec les données de type long double (16 octets). De plus, ces fonctions traitent les valeurs non numériques (NaN).

Conclusion

Dans cet article Linuxhint, nous avons expliqué tout ce que vous devez savoir pour utiliser la macro MIN() pour trouver la valeur minimale entre deux variables. Nous avons examiné la syntaxe et la définition de cette macro ainsi que la formule qui applique une condition vrai/faux pour une opération « inférieur à » (<) entre les deux variables d'entrée.

Nous avons ensuite appliqué la théorie que nous avons apprise à un exemple pratique en utilisant des extraits de code et des images pour vous montrer comment travailler avec différents types de données. Nous vous avons également montré les options recommandées pour gérer les nombres à virgule flottante pour lesquels l'utilisation de MIN() n'est pas recommandée.