08.11.2014 Views

c_kitap

c_kitap

c_kitap

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

C ve Sistem Programcıları Derneği - C Ders Notları - Necati Ergin<br />

Gerçek Sayıların Bellekte Tutulması<br />

Bir gerçek sayı aşağıdaki gibi ifade edilebilir:<br />

x<br />

p<br />

e<br />

= s * b * ∑ fk<br />

*<br />

k=<br />

1<br />

b<br />

−k<br />

Yukarıdaki genel denklemde<br />

x ifade edilecek gerçek sayı<br />

b Kullanılan sayı sisteminin taban değeri (Tipik olarak 2, 8, 10 ya da 16)<br />

e Üstel değer. Bu değer format tarafından belirlenen e min ve e max arasındaki bir değer<br />

p Ondalık kısmı belirleyen basamak sayısı<br />

Sayı sistemindeki basamak değerleri. 0 ≤ f k ≤ b<br />

f k<br />

Gerçek sayıların ifadesinde, gerçek sayı kabul edilmeyen bazı gösterimler söz konusudur.<br />

Bunlar:<br />

sonsuz (infinity)<br />

NaN (not a number)<br />

değerleridir. Bu değerler işaretli olabilir.<br />

Sistemlerin çoğunda, gerçek sayılar IEEE (Institute of Electrical and Electronics<br />

Engineers) 754 standardına göre tutulur. (IEEE Standard for Binary Floating-Point<br />

Arithmetic - ISO/IEEE std 754-1985).Bu standarda göre gerçek sayılar için iki ayrı format<br />

belirlenmiştir:<br />

1. Tek duyarlıklı gerçek sayı formatı (single precision format)<br />

Bu formatta gerçek sayının gösterimi genel formüle aşağıdaki biçimde uyarlanabilir:<br />

x<br />

24<br />

e<br />

−k<br />

= s *2 * ∑ fk<br />

* 2<br />

k=<br />

1<br />

Bu formatta gerçek sayı 32 bit (4 byte) ile ifade edilir.<br />

32 bit üç ayrı kısma ayrılmıştır.<br />

i. İşaret biti (sign bit) (1 bit)<br />

Aşağıda S harfi ile gösterilmiştir.<br />

İşaret biti 1 ise sayı negatif, işaret biti 0 ise sayı pozitiftir.<br />

ii. Üstel kısım (exponent) (8 bit)<br />

Aşağıda E harfleriyle gösterilmiştir.<br />

iii. Ondalık kısım (fraction) (23 bit)<br />

Aşağıda F harfleriyle gösterilmiştir.<br />

SEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFF<br />

Aşağıdaki formüle göre sayının değeri hesaplanabilir :<br />

V, gerçek sayının değeri olmak üzere:<br />

EEEEEEEE = 255 ve FFF...F ≠ 0 ise V = NaN (Not a number)<br />

21/529

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!