Tip Dönüşümleri
Bir formül içerisinde bir çok değişken veya sabit olabilir. Bu değişken ve sabitler birbirinden farklı tipte olursa, hesap sonucunun hangi tipte olacağı önemlidir. Bir bağıntıda, içeriği dönüşüme uğrayan değişkenler eski içeriklerini korurlar. Dönüştürme işlemi için geçiçi bellek alanı kullanılır; dönüştürülen değer kullanıldıktan sonra o alan serbest bırakılır.
char kr;
int tam;
long int ltam;
unsigned int utam;
short int stam;
float f;
double d;
bildirimlerine göre:
Bağıntı Sonuç Tipi
------- ----------
kr+5 int
kr+5.0 double
d+tam double
f+d-2 double
utam-tam unsigned
ltam*tam long
tam/2 int
tam/2.0 double
NOT :
Tamsayılar arası bölme kesme hatalarına (truncation error) neden olur.
Bunun anlamı iki tamsayının oranı yine bir tamsayıdır.
örneğin: 4/2=2; ama 3/2=1 (1.5 değil).
Bir değişkenin sabit değerin veya bağıntının önüne tür veya takı (cast) yazılarak sonucun hangi tip çıkması istendiği söylenebilir. Genel yazım biçimi:
(tür tipi) bağıntı;
Örneğin:
int x=9;
float a,b,c;
double d;
...
a = x/4;
b = x/4.0;
c = (float) x/4;
işleminin sonucunda a değişkenine 2.0, b ve c değişkenlerine 2.25 değeri aktarılır. Yani 9/4 ile 9/4.0 farklı anlamdadır.
Bir formül içerisinde bir çok değişken veya sabit olabilir. Bu değişken ve sabitler birbirinden farklı tipte olursa, hesap sonucunun hangi tipte olacağı önemlidir. Bir bağıntıda, içeriği dönüşüme uğrayan değişkenler eski içeriklerini korurlar. Dönüştürme işlemi için geçiçi bellek alanı kullanılır; dönüştürülen değer kullanıldıktan sonra o alan serbest bırakılır.
char kr;
int tam;
long int ltam;
unsigned int utam;
short int stam;
float f;
double d;
bildirimlerine göre:
Bağıntı Sonuç Tipi
------- ----------
kr+5 int
kr+5.0 double
d+tam double
f+d-2 double
utam-tam unsigned
ltam*tam long
tam/2 int
tam/2.0 double
NOT :
Tamsayılar arası bölme kesme hatalarına (truncation error) neden olur.
Bunun anlamı iki tamsayının oranı yine bir tamsayıdır.
örneğin: 4/2=2; ama 3/2=1 (1.5 değil).
Bir değişkenin sabit değerin veya bağıntının önüne tür veya takı (cast) yazılarak sonucun hangi tip çıkması istendiği söylenebilir. Genel yazım biçimi:
(tür tipi) bağıntı;
Örneğin:
int x=9;
float a,b,c;
double d;
...
a = x/4;
b = x/4.0;
c = (float) x/4;
işleminin sonucunda a değişkenine 2.0, b ve c değişkenlerine 2.25 değeri aktarılır. Yani 9/4 ile 9/4.0 farklı anlamdadır.
💬 SpyHackerz Telegram — Anlık tartışmalar ve duyurular için katıl