MIN()-Makro in C-Sprache

Min Makro In C Sprache



Relationale Operationen in C sind weit verbreitet und in fast jedem Programm zu finden, das in dieser Sprache geschrieben ist. Es gibt mehrere Operatoren in dieser Sprache – die am häufigsten verwendeten sind gleich ( = ), größer als ( > ) und kleiner als ( < ). Diese Art von Operation wird häufig in Wenn-Bedingungen verwendet. Die Eingabebedingung ist beispielsweise der Wert der Variablen =, > oder < zu einer anderen Variablen oder Konstante.

Diese relationalen Operationen sind sehr nützlich. Aber es gibt Fälle, in denen wir nicht nur wissen müssen, ob eine Variable größer oder kleiner als eine andere ist, sondern auch, um ihren Wert zu ermitteln. Obwohl dies mit „if“-Anweisungen und einfachen relationalen Operationen leicht zu bewerkstelligen ist, bietet die Sprache C auch Makros mit Funktionen, die den Maximal- oder Minimalwert zwischen zwei Variablen zurückgeben.

In diesem Linuxhint-Artikel erfahren Sie, wie Sie mit dem Makro MIN() den Mindestwert zweier Variablen ermitteln. Wir zeigen Ihnen die Syntax, die aufrufende Methode und den akzeptierten Datentyp. Anschließend sehen wir uns eine Beschreibung der Funktionsweise an und überprüfen den Ausdruck und die Formel, die dieses Makro anwendet.







Anschließend wenden wir das Gelernte in einem praktischen Beispiel an, das Codeausschnitte und Bilder enthält, die zeigen, wie man das Minimum mit verschiedenen Datentypen als Eingaben für das Makro MIN() findet.



Syntax des MIN()-Makros in C-Sprache

MINDEST ( A , B )

Beschreibung des MIN()-Makros in C-Sprache



Das Makro MIN() gibt den Mindestwert zwischen den Variablen „a“ und „b“ zurück. Der vom Makro MIN() angezeigte Ausdruck ist eine Wahr/Falsch-Bedingung, bei der eine relationale Operation „<“ zwischen den Variablen „a“ und „b“ angewendet wird. Wenn „a“ kleiner als „b“ ist, wird „a“ zurückgegeben. Wenn „b“ kleiner als „a“ ist, wird „b“ zurückgegeben.





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

Das Makro MIN() funktioniert mit allen Datentypen in seinen Ein- und Ausgängen mit der einzigen Regel, dass beide Eingabevariablen numerische Werte sein müssen.

Dieses Makro ist im Header „param.h“ im Ordner „sys“ definiert. Um es zu verwenden, müssen wir es wie folgt in unseren Code einfügen:



#include

So ermitteln Sie das Minimum zwischen zwei ganzzahligen Variablen mit dem Makro MIN()

In diesem Beispiel erstellen wir die Variablen „a“ und „b“ vom Typ int, denen wir einen beliebigen Wert zuweisen und aus denen wir das Minimum ermitteln, indem wir das Makro MIN() aufrufen. Anschließend geben wir den zurückgegebenen Wert mit der Funktion printf() aus.

Dazu fügen wir die Header „stdio.h“ und „param.h“ ein und öffnen eine main()-Funktion vom Typ void. Darin definieren wir die Ganzzahlen „a“ und „b“ und weisen ihnen einen Zufallswert zu. Wir definieren auch die Ganzzahl „c“, um das Ergebnis zu speichern.

Dann rufen wir das Makro MIN() auf und übergeben „a“ und „b“ als Eingabeargumente und „c“ als Ausgabeargumente. Wir zeigen das zurückgegebene Ergebnis an, indem wir die Funktion printf() aufrufen. Das Folgende ist der Code für dieses Beispiel:

#include

#include

Leere hauptsächlich ( ) {

int A = 32 ;

int B = 14 ;

int C ;

C = MINDEST ( A , B ) ;

printf ( ' \N Das Minimum ist %i \N ' , C ) ;

}

Als nächstes sehen wir ein Bild mit der Kompilierung und Ausführung dieses Codes. Wie wir sehen können, gibt das Makro MIN() in diesem Fall den Wert „b“ zurück.

Das Gleiche passiert, wenn wir Variablen vom Typ double verwenden.

#include

#include

Leere hauptsächlich ( ) {

doppelt A = 3 ;

doppelt B = 1 ;

doppelt C ;

C = MINDEST ( A , B ) ;

printf ( ' \N Das Minimum an Doubles a und b ist %f \N ' , C ) ;

}


Minimum und Maximum mit Gleitkommavariablen

Das Makro MIN() ist eine nützliche Funktion, seine Verwendung wird jedoch nicht für Variablen empfohlen, die Gleitkommawerte verwenden. Um das Minimum dieser Art von Werten zu finden, stellt die Mathematikbibliothek eine Reihe von Funktionen bereit, die im Header „math.h“ definiert sind. Dieser Satz besteht aus den Funktionen fmin(), fminf() und fminl(). Schauen wir uns die folgende Syntax für jede dieser Funktionen an:

doppelt fmin ( doppelt X , doppelt Und ) ;
schweben fminf ( schweben X , schweben Und ) ;
lang doppelt fminl ( lang doppelt X , lang doppelt Und ) ;

Die Funktion fmin() verarbeitet Daten vom Typ Double (8 Bytes) mit Gleitkomma. Die Funktion fminf() arbeitet mit Daten vom Typ float (4 Bytes), während fminl() mit Daten vom Typ long double (16 Bytes) arbeitet. Außerdem verarbeiten diese Funktionen die nicht numerischen Werte (NaN).

Abschluss

In diesem Linuxhint-Artikel haben wir alles erklärt, was Sie wissen müssen, um mit dem Makro MIN() den Mindestwert zwischen zwei Variablen zu ermitteln. Wir haben uns die Syntax und Definition dieses Makros sowie die Formel angesehen, die eine Wahr/Falsch-Bedingung für eine „Kleiner-als“-Operation (<) zwischen den beiden Eingabevariablen anwendet.

Anschließend haben wir die erlernte Theorie anhand der Codeausschnitte und Bilder auf ein praktisches Beispiel angewendet, um Ihnen zu zeigen, wie Sie mit verschiedenen Datentypen arbeiten. Wir haben Ihnen auch die empfohlenen Optionen für den Umgang mit Gleitkommazahlen gezeigt, bei denen die Verwendung von MIN() nicht empfohlen wird.