Sekiz hassasiyetli kayan nokta biçimi - Octuple-precision floating-point format

Olarak işlem , sekiz kat hassas bir ikili kayan nokta tabanlı bilgisayar numarası formatı 32 kaplar bayt (256 bit , bilgisayar belleğinde). Bu 256- bit sekizli hassasiyet, dört kattan daha yüksek hassasiyette sonuçlar gerektiren uygulamalar içindir . Bu format nadiren (varsa) kullanılır ve çok az ortam onu ​​destekler.

IEEE 754 sekiz kat hassasiyetli ikili kayan nokta biçimi: ikili256

2008 revizyonunda, IEEE 754 standardı , değişim formatları arasında (temel bir format değildir) bir ikili256 formatı belirtir :

Biçim, üs tamamen sıfır olmadıkça 1 değerine sahip örtük bir ön bit ile yazılır. Bu nedenle , hafıza formatında anlamlı ve sadece 236 bit görünür, ancak toplam hassasiyet 237 bittir (yaklaşık 71 ondalık basamak: log 10 (2 237 ) ≈ 71.344 ). Bitler şu şekilde düzenlenmiştir:

Sekiz kat hassasiyetli kayan nokta biçiminin düzeni

Üslü kodlama

Sekiz kat hassasiyetli ikili kayan noktalı üs, sıfır ofset 262143 olmak üzere bir ofset ikili gösterimi kullanılarak kodlanır ; IEEE 754 standardında üstel sapma olarak da bilinir.

Bu nedenle, ofset ikili gösterimi ile tanımlandığı gibi, gerçek üssü elde etmek için 262143 ofsetinin depolanmış üsten çıkarılması gerekir.

Kaydedilen üsler 00000 16 ve 7FFFF 16 özel olarak yorumlanır.

Üs Anlamlı ve sıfır Anlamlı ve sıfır olmayan Denklem
00000 16 0 , −0 normal altı sayılar (-1) işaret biti × 2 −262142 × 0.significandbits 2
00001 16 , ..., 7FFFE 16 normalleştirilmiş değer (-1) işaret biti × 2 üs biti 2 × 1 önemsiz bitler 2
7FFFF 16 ± NaN (sessiz, sinyal)

Minimum kesin pozitif (normal altı ) değer 2 −262378 ≈ 10 −78984'tür ve yalnızca bir bitlik bir hassasiyete sahiptir. Minimum pozitif normal değer 2 −262142 ≈ 2,4824 × 10 −78913'tür . Gösterilebilecek maksimum değer 2 262144 - 2 261907 ≈ 1,6113 × 10 78913'tür .

Octuple hassasiyetinde örnekler

Bu örnekler, biraz verilmiştir temsil olarak, onaltılı kayan nokta değeri. Buna işaret, (önyargılı) üs ve anlamlılık dahildir.

0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 000016 = +0
8000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 000016 = −0
7fff f000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 000016 = +infinity
ffff f000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 000016 = −infinity
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 000116
= 2−262142 × 2−236 = 2−262378
≈ 2.24800708647703657297018614776265182597360918266100276294348974547709294462 × 10−78984
  (smallest positive subnormal number)
0000 0fff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff16
= 2−262142 × (1 − 2−236)
≈ 2.4824279514643497882993282229138717236776877060796468692709532979137875392 × 10−78913
  (largest subnormal number)
0000 1000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 000016
= 2−262142
≈ 2.48242795146434978829932822291387172367768770607964686927095329791378756168 × 10−78913
  (smallest positive normal number)
7fff efff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff16
= 2262143 × (2 − 2−236)
≈ 1.61132571748576047361957211845200501064402387454966951747637125049607182699 × 1078913
  (largest normal number)
3fff efff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff16
= 1 − 2−237
≈ 0.999999999999999999999999999999999999999999999999999999999999999999999995472
  (largest number less than one)
3fff f000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 000016
= 1 (one)
3fff f000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 000116
= 1 + 2−236
≈ 1.00000000000000000000000000000000000000000000000000000000000000000000000906
  (smallest number larger than one)

Varsayılan olarak 1/3 , anlamlılıktaki tek bit sayısı nedeniyle çift ​​kesinlik gibi aşağı yuvarlanır . Yani yuvarlama noktasının ötesindeki bitler , son sırada0101... bir birimin 1 / 2'sinden daha azdır .

Uygulamalar

Octuple hassasiyeti, kullanımı son derece nadir olduğu için nadiren uygulanır. Apple Inc. , 224-bit ikinin tümleyen anlamı ve 32-bit üssü ile sekiz kat hassasiyetli sayıların toplama, çıkarma ve çarpma uygulamasına sahipti . Sekiz kat (veya daha yüksek) kesinlik elde etmek için genel keyfi kesinlikte aritmetik kitaplıklar kullanılabilir, ancak özel sekiz kat hassasiyetli uygulamalar daha yüksek performans sağlayabilir.

Donanım desteği

Sekiz misli hassasiyetin bilinen bir donanım uygulaması yoktur.

Ayrıca bakınız

Referanslar

daha fazla okuma