Te operacje relacyjne są bardzo przydatne. Są jednak przypadki, w których musimy wiedzieć nie tylko, czy jedna zmienna jest większa, czy mniejsza od drugiej, ale także poznać jej wartość. Chociaż można to łatwo zrobić za pomocą instrukcji „if” i prostych operacji relacyjnych, język C udostępnia również makra z funkcjami, które zwracają maksymalną lub minimalną wartość między dwiema zmiennymi.
W tym artykule Linuxhint dowiesz się, jak używać makra MIN() do znajdowania minimalnej wartości dwóch zmiennych. Pokażemy Ci składnię, metodę wywoływania i akceptowany typ danych. Następnie przyjrzymy się opisowi działania tego makro oraz przeanalizujemy wyrażenia i formuły stosowane przez to makro.
Następnie stosujemy to, czego się nauczyliśmy, w praktycznym przykładzie, który zawiera fragmenty kodu i obrazy pokazujące, jak znaleźć minimum przy różnych typach danych jako danych wejściowych makra MIN().
Składnia makra MIN() w języku C
MIN ( A , B )Opis makra MIN() w języku C
Makro MIN() zwraca minimalną wartość pomiędzy zmiennymi „a” i „b”. Wyrażenie wyświetlane przez makro MIN() jest warunkiem prawda/fałsz, w którym pomiędzy zmiennymi „a” i „b” stosowana jest operacja relacyjna „<”. Jeśli „a” jest mniejsze niż „b”, zwracane jest „a”. Jeśli „b” jest mniejsze niż „a”, zwracane jest „b”.
#zdefiniuj MIN(a,b) (((a)<(b))?(a):(b))
Makro MIN() współpracuje ze wszystkimi typami danych na swoich wejściach i wyjściach, z tą jedyną zasadą, że obie zmienne wejściowe muszą być wartościami numerycznymi.
To makro jest zdefiniowane w nagłówku „param.h” w folderze „sys”. Aby z niego skorzystać, musimy wstawić go do naszego kodu w następujący sposób:
#include
Jak znaleźć minimum między dwiema zmiennymi całkowitymi za pomocą makra MIN()
W tym przykładzie tworzymy zmienne „a” i „b” typu int, którym przypisujemy dowolną wartość i z których znajdujemy minimum wywołując makro MIN(). Następnie wyprowadzamy zwróconą wartość za pomocą funkcji printf().
Aby to zrobić, dołączamy nagłówki „stdio.h” i „param.h” i otwieramy funkcję main() typu void. Definiujemy w nim liczby całkowite „a” i „b” i przypisujemy im losową wartość. Definiujemy również liczbę całkowitą „c”, w której przechowywany jest wynik.
Następnie wywołujemy makro MIN() i przekazujemy „a” i „b” jako argumenty wejściowe oraz „c” jako argumenty wyjściowe. Zwrócony wynik wyświetlamy wywołując funkcję printf(). Poniżej znajduje się kod dla tego przykładu:
#include#include
próżnia główny ( ) {
wew A = 32 ;
wew B = 14 ;
wew C ;
C = MIN ( A , B ) ;
drukuj ( ' \N Minimalna wartość to %i \N ' , C ) ;
}
Następnie widzimy obraz z kompilacją i wykonaniem tego kodu. Jak widzimy, makro MIN() zwraca w tym przypadku wartość „b”.
To samo dzieje się, jeśli użyjemy zmiennych typu double.
#include#include
próżnia główny ( ) {
podwójnie A = 3 ;
podwójnie B = 1 ;
podwójnie C ;
C = MIN ( A , B ) ;
drukuj ( ' \N Minimalna liczba podwojeń aib to %f \N ' , C ) ;
}
Minimum i maksimum ze zmiennymi zmiennoprzecinkowymi
Makro MIN() jest użyteczną funkcją, ale jej użycie nie jest zalecane w przypadku zmiennych korzystających z wartości zmiennoprzecinkowych. Aby znaleźć minimum tego rodzaju wartości, biblioteka math udostępnia zestaw funkcji zdefiniowanych w nagłówku „math.h”. Zestaw ten składa się z funkcji fmin(), fminf() i fminl(). Przyjrzyjmy się następującej składni każdej z tych funkcji:
podwójnie min ( podwójnie X , podwójnie I ) ;platforma fminf ( platforma X , platforma I ) ;
długi podwójnie min ( długi podwójnie X , długi podwójnie I ) ;
Funkcja fmin() operuje na danych typu double (8 bajtów) o liczbie zmiennoprzecinkowej. Funkcja fminf() działa z danymi typu float (4 bajty), natomiast fminl() działa z danymi typu long double (16 bajtów). Funkcje te przetwarzają również wartości nienumeryczne (NaN).
Wniosek
W tym artykule Linuxhint wyjaśniliśmy wszystko, co musisz wiedzieć, aby użyć makra MIN() do znalezienia minimalnej wartości między dwiema zmiennymi. Przyjrzeliśmy się składni i definicji tego makra, a także formule stosującej warunek prawda/fałsz dla operacji „mniejsze niż” (<) między dwiema zmiennymi wejściowymi.
Następnie zastosowaliśmy poznaną teorię do praktycznego przykładu, wykorzystując fragmenty kodu i obrazy, aby pokazać, jak pracować z różnymi typami danych. Pokazaliśmy także zalecane opcje postępowania z liczbami zmiennoprzecinkowymi, w których nie zaleca się używania funkcji MIN().