C Dilinde MIN() Makrosu

C Dilinde Min Makrosu



C'deki ilişkisel işlemler yaygın olarak kullanılır ve bu dilde yazılan hemen hemen her programda bulunabilir. Bu dilde çeşitli operatörler vardır; en sık kullanılanlar eşittir (=), büyüktür (>) ve küçüktür (<). Bu tür işlemler genellikle if koşullarında kullanılır. Örneğin, giriş koşulu =, > veya < değişkeninin başka bir değişkene veya sabite değeridir.

Bu ilişkisel işlemler çok faydalıdır. Ancak sadece bir değişkenin diğerinden büyük veya küçük olduğunu değil aynı zamanda değerini de bilmemiz gereken durumlar vardır. Bu, “if” ifadeleri ve basit ilişkisel işlemlerle kolayca yapılsa da, C dili aynı zamanda iki değişken arasındaki maksimum veya minimum değeri döndüren işlevlere sahip makrolar da sağlar.

Bu Linuxhint makalesinde, iki değişkenin minimum değerini bulmak için MIN() makrosunu nasıl kullanacağınızı öğreneceksiniz. Size sözdizimini, çağırma yöntemini ve kabul ettiği veri türünü göstereceğiz. Daha sonra nasıl çalıştığına dair bir açıklamaya bakacağız ve bu makronun uyguladığı ifadeyi ve formülü inceleyeceğiz.







Daha sonra öğrendiklerimizi, farklı veri türleriyle minimumun nasıl bulunacağını gösteren kod parçacıkları ve görüntüleri içeren pratik bir örnekte makro MIN()'a girdi olarak uyguluyoruz.



C Dilinde MIN() Makrosunun Söz Dizimi

dk. ( A , B )

C Dilinde MIN() Makrosunun Açıklaması



MIN() makrosu “a” ve “b” değişkenleri arasındaki minimum değeri döndürür. MIN() makrosu tarafından görüntülenen ifade, 'a' ve 'b' değişkenleri arasında '<' ilişkisel işleminin uygulandığı bir doğru/yanlış koşuludur. Eğer “a”, “b”den küçükse “a” döndürülür. Eğer “b”, “a”dan küçükse, “b” döndürülür.





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

MIN() makrosu, giriş ve çıkışlarındaki tüm veri türleriyle çalışır ve tek kural, her iki giriş değişkeninin de sayısal değerler olması gerektiğidir.

Bu makro “sys” klasöründeki “param.h” başlığında tanımlanmıştır. Kullanmak için kodumuza aşağıdaki gibi eklememiz gerekiyor:



#include

MIN() Makrosu ile İki Tam Sayı Değişkeni Arasındaki Minimum Değer Nasıl Bulunur?

Bu örnekte, isteğe bağlı bir değer atadığımız ve MIN() makrosunu çağırarak minimumu bulduğumuz int türünde 'a' ve 'b' değişkenlerini oluşturuyoruz. Daha sonra printf() fonksiyonunu kullanarak döndürülen değeri çıktı olarak alırız.

Bunu yapmak için “stdio.h” ve “param.h” başlıklarını dahil ediyoruz ve void tipinde bir main() fonksiyonu açıyoruz. İçinde “a” ve “b” tamsayılarını tanımlayıp bunlara rastgele bir değer atadık. Sonucu saklamak için “c” tamsayısını da tanımlıyoruz.

Daha sonra, MIN() makrosunu çağırırız ve giriş argümanları olarak “a” ve “b”yi, çıkış argümanları olarak da “c”yi geçiririz. Döndürülen sonucu printf() fonksiyonunu çağırarak görüntüleriz. Bu örneğin kodu aşağıdadır:

#include

#include

geçersiz ana ( ) {

int A = 32 ;

int B = 14 ;

int C ;

C = dk. ( A , B ) ;

baskı ( ' \N Minimum %i'dir \N ' , C ) ;

}

Daha sonra bu kodun derlenip çalıştırıldığı bir resim görüyoruz. Görebildiğimiz gibi, MIN() makrosu bu durumda “b” değerini döndürmektedir.

Double tipindeki değişkenleri kullandığımızda da aynı şey olur.

#include

#include

geçersiz ana ( ) {

çift A = 3 ;

çift B = 1 ;

çift C ;

C = dk. ( A , B ) ;

baskı ( ' \N a ve b çiftlerinin minimumu %f'dir \N ' , C ) ;

}


Kayan Nokta Değişkenleriyle Minimum ve Maksimum

MIN() makrosu kullanışlı bir işlevdir ancak kayan nokta değerlerini kullanan değişkenler için kullanılması önerilmez. Bu tür değerlerin minimumunu bulmak için matematik kütüphanesi “math.h” başlığında tanımlanan bir dizi fonksiyon sağlar. Bu küme fmin(), fminf() ve fminl() işlevlerinden oluşur. Bu işlevlerin her biri için aşağıdaki sözdizimine bakalım:

çift fmin ( çift X , çift Ve ) ;
batmadan yüzmek fminf ( batmadan yüzmek X , batmadan yüzmek Ve ) ;
uzun çift fminl ( uzun çift X , uzun çift Ve ) ;

fmin() işlevi, kayan noktalı double tipindeki (8 bayt) veriler üzerinde çalışır. fminf() işlevi float (4 bayt) türündeki verilerle çalışırken, fminl() işlevi long double (16 bayt) türündeki verilerle çalışır. Ayrıca bu işlevler sayısal olmayan değerleri (NaN) işler.

Çözüm

Bu Linuxhint makalesinde, iki değişken arasındaki minimum değeri bulmak amacıyla MIN() makrosunu kullanmak için bilmeniz gereken her şeyi açıkladık. Bu makronun sözdizimine ve tanımına, ayrıca iki giriş değişkeni arasındaki 'küçüktür' işlemi (<) için doğru/yanlış koşulunu uygulayan formüle baktık.

Daha sonra öğrendiğimiz teoriyi, farklı veri türleriyle nasıl çalışacağınızı göstermek için kod parçacıkları ve görselleri kullanarak pratik bir örneğe uyguladık. Ayrıca, MIN() kullanımının önerilmediği kayan noktalı sayılarla başa çıkmak için önerilen seçenekleri de gösterdik.