Makro MIN() v jeziku C

Makro Min V Jeziku C



Relacijske operacije v C se pogosto uporabljajo in jih je mogoče najti v skoraj vseh programih, ki so napisani v tem jeziku. V tem jeziku je več operatorjev – najpogosteje uporabljeni so enako ( = ), večje od ( > ) in manjše od ( < ). Ta vrsta operacije se pogosto uporablja v pogojih if. Vhodni pogoj je na primer vrednost spremenljivke =, > ali < v drugo spremenljivko ali konstanto.

Te relacijske operacije so zelo uporabne. Toda obstajajo primeri, ko moramo vedeti ne le, ali je ena spremenljivka večja ali manjša od druge, ampak tudi pridobiti njeno vrednost. Čeprav je to enostavno narediti s stavki »if« in preprostimi relacijskimi operacijami, jezik C ponuja tudi makre s funkcijami, ki vrnejo največjo ali najmanjšo vrednost med dvema spremenljivkama.

V tem članku Linuxhint se boste naučili, kako uporabiti makro MIN() za iskanje najmanjše vrednosti dveh spremenljivk. Pokazali vam bomo sintakso, klicno metodo in vrsto podatkov, ki jih sprejema. Nato si bomo ogledali opis delovanja ter pregledali izraz in formulo, ki ju uporablja ta makro.







Nato uporabimo, kar smo se naučili v praktičnem primeru, ki vključuje delčke kode in slike, ki prikazujejo, kako najti minimum z različnimi vrstami podatkov kot vhodi v makro MIN().



Sintaksa makra MIN() v jeziku C

MIN ( a , b )

Opis makra MIN() v jeziku C



Makro MIN() vrne najmanjšo vrednost med spremenljivkama »a« in »b«. Izraz, ki ga prikaže makro MIN(), je pogoj true/false, kjer je med spremenljivkama »a« in »b« uporabljena relacijska operacija »<«. Če je »a« manjši od »b«, se vrne »a«. Če je »b« manjši od »a«, se vrne »b«.





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

Makro MIN() deluje z vsemi tipi podatkov v svojih vhodih in izhodih z edinim pravilom, da morata biti obe vhodni spremenljivki numerični vrednosti.

Ta makro je definiran v glavi »param.h« v mapi »sys«. Če ga želimo uporabiti, ga moramo v našo kodo vstaviti na naslednji način:



#include

Kako najti minimum med dvema celima spremenljivkama z makrom MIN()

V tem primeru ustvarimo spremenljivki »a« in »b« tipa int, ki jima dodelimo poljubno vrednost in iz katere najdemo minimum s klicem makra MIN(). Nato izpišemo vrnjeno vrednost s funkcijo printf().

Da bi to naredili, vključimo glave »stdio.h« in »param.h« in odpremo funkcijo main() tipa void. V njem definiramo celi števili “a” in “b” in jima priredimo naključno vrednost. Definiramo tudi celo število 'c' za shranjevanje rezultata.

Nato pokličemo makro MIN() in posredujemo »a« in »b« kot vhodna argumenta ter »c« kot izhodna argumenta. Vrnjeni rezultat prikažemo s klicem funkcije printf(). Sledi koda za ta primer:

#include

#include

praznina glavni ( ) {

int a = 32 ;

int b = 14 ;

int c ;

c = MIN ( a , b ) ;

printf ( ' \n Najmanjša vrednost je %i \n ' , c ) ;

}

Nato vidimo sliko s prevajanjem in izvajanjem te kode. Kot lahko vidimo, makro MIN() v tem primeru vrne vrednost 'b'.

Enako se zgodi, če uporabimo spremenljivke dvojnega tipa.

#include

#include

praznina glavni ( ) {

dvojno a = 3 ;

dvojno b = 1 ;

dvojno c ;

c = MIN ( a , b ) ;

printf ( ' \n Najmanjša dvojina a in b je %f \n ' , c ) ;

}


Minimum in maksimum s spremenljivkami s plavajočo vejico

Makro MIN() je uporabna funkcija, vendar njena uporaba ni priporočljiva za spremenljivke, ki uporabljajo vrednosti s plavajočo vejico. Da bi našli najmanjšo vrednost te vrste, matematična knjižnica nudi nabor funkcij, ki je definiran v glavi »math.h«. Ta niz je sestavljen iz funkcij fmin(), fminf() in fminl(). Oglejmo si naslednjo sintakso za vsako od teh funkcij:

dvojno fmin ( dvojno x , dvojno in ) ;
lebdi fminf ( lebdi x , lebdi in ) ;
dolga dvojno fminl ( dolga dvojno x , dolga dvojno in ) ;

Funkcija fmin() deluje na podatkih tipa double (8 bajtov) s plavajočo vejico. Funkcija fminf() deluje s podatki tipa float (4 bajti), fminl() pa s podatki tipa long double (16 bajtov). Te funkcije obdelujejo tudi neštevilske vrednosti (NaN).

Zaključek

V tem članku o Linuxhintu smo razložili vse, kar morate vedeti za uporabo makra MIN() za iskanje najmanjše vrednosti med dvema spremenljivkama. Ogledali smo si sintakso in definicijo tega makra ter formulo, ki uporablja pogoj true/false za operacijo »manj kot« (<) med dvema vhodnima spremenljivkama.

Teorijo, ki smo se je naučili, smo nato uporabili na praktičnem primeru z uporabo izrezkov kode in slik, da vam pokažemo, kako delati z različnimi vrstami podatkov. Pokazali smo vam tudi priporočene možnosti za obravnavanje števil s plavajočo vejico, kjer uporaba MIN() ni priporočljiva.