МИН() Макро у језику Ц

Min Makro U Jeziku C



Релационе операције у Ц-у се широко користе и могу се наћи у скоро сваком програму који је написан на овом језику. У овом језику постоји неколико оператора – најчешће коришћени су једнаки ( = ), већи од ( > ) и мањи од ( < ). Ова врста операције се често користи у условима ако. На пример, улазни услов је вредност променљиве =, > или < за другу променљиву или константу.

Ове релационе операције су веома корисне. Али постоје случајеви када морамо да знамо не само да ли је једна променљива већа или мања од друге, већ и да добијемо њену вредност. Иако се то лако ради са „иф“ изјавама и једноставним релационим операцијама, језик Ц такође обезбеђује макрое са функцијама које враћају максималну или минималну вредност између две променљиве.

У овом чланку о Линукхинт-у научићете како да користите макро МИН() да бисте пронашли минималну вредност две променљиве. Показаћемо вам синтаксу, метод позивања и тип података који прихвата. Затим ћемо погледати опис како функционише и прегледати израз и формулу које овај макро примењује.







Затим примењујемо оно што смо научили у практичном примеру који укључује исечке кода и слике које показују како пронаћи минимум са различитим типовима података као улазима за макро МИН().



Синтакса макроа МИН() у језику Ц

МИН ( а , б )

Опис макроа МИН() у језику Ц



Макро МИН() враћа минималну вредност између променљивих „а” и „б”. Израз који приказује макро МИН() је тачан/нетачан услов где се релациона операција „<“ примењује између променљивих „а“ и „б“. Ако је „а“ мање од „б“, враћа се „а“. Ако је „б“ мање од „а“, враћа се „б“.





#дефине МИН(а,б) (((а)<(б))?(а):(б))

Макро МИН() ради са свим типовима података на својим улазима и излазима уз једино правило да обе улазне променљиве морају бити нумеричке вредности.

Овај макро је дефинисан у заглављу 'парам.х' у фасцикли 'сис'. Да бисмо га користили, потребно је да га убацимо у наш код на следећи начин:



#инцлуде <сис/парам.х>

Како пронаћи минимум између две целобројне варијабле помоћу макроа МИН()

У овом примеру креирамо променљиве „а“ и „б“ типа инт којима додељујемо произвољну вредност и од којих проналазимо минимум позивањем макроа МИН(). Затим шаљемо враћену вредност помоћу функције принтф().

Да бисмо то урадили, укључујемо заглавља „стдио.х“ и „парам.х“ и отварамо функцију маин() типа воид. У њему дефинишемо „а“ и „б“ целе бројеве и додељујемо им насумичне вредности. Такође дефинишемо „ц“ цео број за чување резултата.

Затим позивамо макро МИН() и прослеђујемо „а“ и „б“ као улазне аргументе и „ц“ као излазне аргументе. Враћени резултат приказујемо позивањем функције принтф(). Следи код за овај пример:

#инцлуде <стдио.х>

#инцлуде <сис/парам.х>

празнина главни ( ) {

инт а = 32 ;

инт б = 14 ;

инт ц ;

ц = МИН ( а , б ) ;

принтф ( ' Минимум је %и ' , ц ) ;

}

Затим видимо слику са компилацијом и извршавањем овог кода. Као што видимо, макро МИН() враћа вредност „б” у овом случају.

Исто се дешава ако користимо променљиве типа доубле.

#инцлуде <стдио.х>

#инцлуде <сис/парам.х>

празнина главни ( ) {

дупло а = 3 ;

дупло б = 1 ;

дупло ц ;

ц = МИН ( а , б ) ;

принтф ( ' Минимум дупликата а и б је %ф ' , ц ) ;

}


Минимум и максимум са варијаблама са помичним зарезом

Макро МИН() је корисна функција, али се његова употреба не препоручује за променљиве које користе вредности са покретним зарезом. Да би се пронашао минимум ове врсте вредности, математичка библиотека обезбеђује скуп функција које су дефинисане у заглављу “матх.х”. Овај скуп се састоји од функција фмин(), фминф() и фминл(). Погледајмо следећу синтаксу за сваку од ових функција:

дупло фмин ( дупло Икс , дупло и ) ;
пловак фминф ( пловак Икс , пловак и ) ;
дугачак дупло фминл ( дугачак дупло Икс , дугачак дупло и ) ;

Функција фмин() ради на подацима типа доубле (8 бајтова) са помичним зарезом. Функција фминф() ради са подацима типа флоат (4 бајта), док фминл() ради са подацима типа лонг доубле (16 бајтова). Такође, ове функције обрађују ненумеричке вредности (НаН).

Закључак

У овом чланку о Линукхинт-у објаснили смо све што треба да знате да бисте користили макро МИН() да бисте пронашли минималну вредност између две променљиве. Погледали смо синтаксу и дефиницију овог макроа, као и формулу која примењује тачан/нетачан услов за операцију „мање од“ (<) између две улазне променљиве.

Затим смо теорију коју смо научили применили на практичан пример користећи исечке кода и слике да бисмо вам показали како да радите са различитим типовима података. Такође смо вам показали препоручене опције за рад са бројевима у покретном зарезу где се употреба МИН() не препоручује.