Tek duyarlıklı kayan noktalı sayı biçimi

Vikipedi, özgür ansiklopedi
Şuraya atla: kullan, ara

Tek duyarlıklı kayan nokta biçimi (İngilizce: single-precision floating-point format), bilgisayar belleğinde 4 bayt (32 bit) kullanan ve kayan nokta kullanarak geniş bir dinamik değer aralığını temsil eden bir bilgisayar numarası biçimidir.

IEEE 754-2008'de 32-bit taban-2 formatına resmen binary32 denir. IEEE 754-1985'te tek olarak adlandırıldı. Daha eski bilgisayarlarda 4 baytlık farklı kayan nokta biçimleri kullanılmıştır, örn., GW-BASIC'in tek duyarlıklı veri tipi 32-bit MBF kayan nokta biçimindeydi.

IEEE 754 tek duyarlıklı ikili kayan nokta biçimi: binary32[değiştir | kaynağı değiştir]

IEEE 754 standardı bir binary32'yi şunlara sahip olmasıyla belirtiyor:

  • İşaret biti: 1 bit
  • Üs genişliği: 8 bit
  • Anlamlı duyarlılık: 24 bit (23 açıkça depolanmış)

Float example.svg

Bu örnekte:

  • ,
  • ,
  • ,
  • ,
  • .

böylece:

  • .

Not:

  • ,
  • ,
  • ,
  • .

Üs kodlama[değiştir | kaynağı değiştir]

Tek duyarlıklı örnekleri[değiştir | kaynağı değiştir]

3f80 0000 = 0 01111111 00000000000000000000000 = 1
c000 0000 = 1 10000000 00000000000000000000000 = −2
7f7f ffff = 0 11111110 11111111111111111111111 = (1 − 2−24) × 2128 ≈ 3.402823466 × 1038  (tek duyarlıklı maks. sonlu pozitif değer)
0080 0000 = 0 00000001 00000000000000000000000 = 2−126 ≈ 1.175494351 × 10−38 (tek duyarlıklı min. normalize pozitif değer)
0000 0000 = 0 00000000 00000000000000000000000 = 0
8000 0000 = 1 00000000 00000000000000000000000 = −0
7f80 0000 = 0 11111111 00000000000000000000000 = artı sonsuz
ff80 0000 = 1 11111111 00000000000000000000000 = eksi sonsuz
3eaa aaab = 0 01111101 01010101010101010101011 ≈ 1/3

Tek duyarlıklı ikili sayıyı ondalık sayıya dönüştürme[değiştir | kaynağı değiştir]

Bu örnekte 41c80000 değerinin onaltılı gösterimi ile başlayıp ve ikili dosyaya dönüştürüyoruz:

47f8 000016 = 0100 0001 1100 1000 0000 0000 0000 00002

Sonra onu üç kısma ayırıyoruz: işaret biti, üs biti ve anlamlı bit.

bit 24 = 1
bit 23 = 0.5
bit 22 = 0.25
bit 21 = 0.125
bit 20 = 0.0625
bit 19 = 0.03125
.
.
bit 0 = 0.00000011920928955078125

Tamsayı değerleri üzerinde hassas sınırlar[değiştir | kaynağı değiştir]

İyileştirmeler[değiştir | kaynağı değiştir]

Ayrıca Bkz.[değiştir | kaynağı değiştir]

Kaynakça[değiştir | kaynağı değiştir]

Dış bağlantılar[değiştir | kaynağı değiştir]