Turktekno.net yeniden yayına başladı!! .
Uzun süren kesintinin ardından yeniden sizlerleyiz.

Her Yönüyle C++ [2]

Yazar admin

C++ ile ilgili yazı serimize ara vermeden devam ediyoruz. Bu bölümümüzde "Veri Tipleri" konusunu ele alacağız.

Yazı serimizi Selçuk Üniversitesi Teknik Eğitim Fakültesi Bilgisayar Sistemleri Öğretmenliğinde okuyan Faruk Alkaya, ders notlarından derlemekte ve konu ile ilgili sorularınızı bu başlıklarda cevaplamakta. Her türlü problem ve sorununuzu bu başlıklar altından iletebilirsiniz.


Veri Tipleri

Veri: Bilgisayarda üzerinde işlem yaptığımız, hafızada tuttuğumuz her türlü bilgiye veri denir.

Veri Tipleri: Bir verinin bellekte ne şekilde tutulacağı, veri değerinin ne şekilde yorumlanacağı ve verinin hangi işlemlere tabi tutulacağına dair derleyiciye bilgi verirler.

Veri tipleri 2’ye ayrılır:

1. Temel Veri Tipleri: Programlama dilinin tasarımından kaynaklanan ve dilin kurallarına göre varlığı garanti altına alınmış olan tiplerdir. Her programlama dili programcının doğrudan kullanabileceği, çeşitli özelliklere sahip veri tipleri tanımlar. C dilinde de önceden tanımlanmış 11 adet veri tipi vardır.

2. Tanımlanan Veri Tipleri: Programlama dillerinin çoğu, önceden tanımlanmış veri tiplerine ek olarak, programcının da yeni tipler tanımlanmasına izin vermektedir. Programcının tanımlayacağı bir nesne için önceden tanımlanmış veri tipleri yetersiz kalıyorsa, programcı kendi veri tipini oluşturulabilir. C dilinde de programcı yeni bir veri tipini derleyiciye tanıtabilir ve tanıttığı veri tipinden nesneler tanımlayabilir.

Temel veri tipleri 2’ye ayrılır:

1. Tamsayı Tipleri: Tamsayı değişken ve sabitleri tanımlamak için kullanılan tiplerdir. Bu değişken ve sabitlere ondalıklı değer aktarılamaz. Program içinde sekizlik, onluk ve on altılık tabanda belirtilebilirler ve derleyicinin tipine göre 16 bit ve 32 bit şeklinde saklanırlar. 

2. Gerçek Sayı Tipleri: Reel sayıları belirtmek için kullanılırlar. Ya tamsayı ile kesir kısmı arasına nokta konarak ya da bilimsel gösterimle belirtilirler. İkinci yöntem genelde çok büyük ve çok küçük sayılar için kullanılır.

Tamsayı Tipleri

a. (un)signed char tipi: İngilizcede “character” sözcüğünün kısaltılması ile elde edilmiştir. Türkçeye karakter olarak çevrilmiştir. ASCII tablosundaki her bir eleman karakter olarak nitelendirilebilir. Ayrıca signed (işaretli) tipi için -128/127 sayı aralığında değer alabilirken, unsigned (işaretsiz) tipi için 0/255 sayı aralığında değer alır.

b. (un)signed short int tipi: Kısa tamsayı tipidir. İşaretli short int veri tipinden bir nesne -32768/32767 aralığındaki tamsayı değerlerini tutabilirken, işaretsiz short tipi söz konusu olduğunda tutulabilecek değerler 0/65535 aralığında olabilir.

c. (un)signed int tipi: Tamsayı tipidir. int veri tipinin 2 byte uzunluğunda olduğu sistemlerde bu veri tipinin sayı sınırları, işaretli int tipi için -32768/32767, işaretsiz int veri tipi için 0/65535 arasında olacaktır. 4 byte uzunluğundaki sistemlerde ise aralıklar çok daha geniştir.

d.
(un)signed long int tipi: Sistemlerin çoğunda, long int veri tipinden oluşturulan nesne bellekte 4 byte’lık bir alan kaplayacaktır. İşaretli short int veri tipinden bir nesne -2147483648/2147483647 aralığındaki tamsayı değerlerini tutabilirken, işaretsiz long int türü söz konusu olduğunda tutulabilecek değerler 0/4294967296 aralığında olabilir.

TAMSAYI TİPLERİ

(INTEGER TYPES)

TİP İSMİ

UZUNLUK(byte)

(DOS / UNIX)

SINIR DEĞERLERİ

signed char

1

-128

127

unsigned char

1

0

255

signed short int

2

-32.768

32.767

unsigned short int

2

0

65.535

signed int

2

4

-32.768

-2.147.483.648

32.767

2.147.483.647

unsigned int

2

4

0

0

65.535

4.294.967.296

long int

4

-2.147.483.648

2.147.483.647

unsigned long int

4

0

4.294.967.29

Gerçek Sayı Tipleri

C dilinde gerçek sayı değerlerini tutabilmek için 3 ayrı veri türü tanımlanmıştır. Bunlar sırasıyla, float, double ve long double veri türleridir. Gerçek sayı veri türlerinin hepsi işaretlidir. Yani gerçek sayı veri türleri içinde hem pozitif hem de negatif değerler tutulabilir. Gerçek sayıların bellekte tutulması sistemden sisteme değişebilen özellikler içerebilir. Ancak sistemlerin çoğunda IEEE 754 sayılı standarda uyulmaktadır.

a. float tipi:
Sistemlerin hemen hemen hepsinde float veri türünden bir nesne tanımlandığı zaman bellekte 4 byte yer kaplayacaktır.  4 byte’lık yani 32 bitlik alana özel bir kodlama yapılarak gerçek sayı değeri tutulur. 4 byte’lık gerçek sayı formatı "single precision " (tek hassasiyet) olarak isimlendirilmiştir. Bu standartta 32 bitlik alan 3 bölüme ayrılmıştır.

1 bitlik alan (sign bit): Gerçek sayının işaret bilgisini yani pzoitif mi negatif mi olduğu bilgisini tutar.

8 bitlik alan (exponential part) : Tam sayı kısmını tutar.

23 bitlik alan (fraction part) : Sayının ondalık kısmını tutar.

 b.  double tipi: Sistemlerin hemen hemen hepsinde double veri türünden bir nesne tanımlandığı zaman bellekte 8 byte yer kaplayacaktır. Gerçek sayıların bellekte tutulması sistemden sisteme değişebilen özellikler içerebilir.

c. long double tipi: long double veri türünden bir nesne tanımlandığı zaman bellekte 10 byte yer kaplayacaktır.

GERÇEK SAYI TİPLERİ

(FLOATING TYPES)

TİP İSMİ

UZUNLUK (byte)

SINIR DEĞERLERİ

 

 

en küçük pozitif değer

en büyük pozitif değer

float

4

3.40 x 10-38

3.40 x 1038

double

8

1.17 x 10-308

1.17 x 10-308

long double

10

3.4 x 10-4932

1.1 x 104932

   Bu veri tipleri ile değişkenlerin tanımlanması:

Tip belirten kelime

Değişken ismi;

         Değişkenlere ilk değer aktarımı:

Tip belirten kelime

Değişken ismi

= İlk değer;

 

Yorum Yapın