Čtyřnásobné číslo

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 1. ledna 2020; kontroly vyžadují 7 úprav .

Počet čtyřnásobné přesnosti ( angl.  Quadruple precision ) je počítačový formát pro reprezentaci čísel s pohyblivou řádovou čárkou, zabírající čtyři po sobě jdoucí buňky v paměti (počítačová slova; v případě 32bitového počítače - 128 bitů nebo 16 bajtů ). Obvykle označuje standardní binární 128 formát čísel s pohyblivou řádovou čárkou IEEE 754 .

Formát čtyřnásobného čísla

Znamení: 1 bit.
Pořadí: 15 bitů [1] [2] .
Mantisa : 112 bitů (112 [1] [2] je výslovně uloženo).

Ekvivalentní počet platných desetinných míst (se stejnou průměrnou chybou relativního zastoupení): 34 ( log 10 (2 113 ) ≈ 34,016 ).

Podepsat
(15 bitů)
Objednávka
(112 bit)
Mantisa
127 120 119 112 111 104 103 96 95 88 87 80 79 72 71 64 63 56 55 48 47 40 39 32 31 24 23 16 patnáct osm 7 0

Příklady čísel se čtyřnásobnou přesností

Malé konstanty: [2]

0x 3fff 0000 0000 0000 0000 0000 0000 0000 = 1 0x c000 0000 0000 0000 0000 0000 0000 0000 = −2

Maximální a minimální (normální) číslo se čtyřnásobnou přesností: [3] [4] [2]

0x 7FFE FFFFFFFFFFFFFF FFFFFFFF ≈ 1,189731495357231765085757593262800702 × 10 4932 0X 0001 0000 0029 272 31 0000 00031 06

Čtyřnásobná denormalizovaná čísla : maximum a minimum kladné: [2]

0x 0000 ffff ffff ffff ffff ffff ffff ffff ≈ 3,3621031431120935062626778173217520*10^-4932 0x 0000 0000 0000 0000 0000 0000 0000 0001 ≈ 6,4751751194380251109244389582276466 * 10^-4966

Čtyři nuly: [2]

0x 0000 0000 0000 0000 0000 0000 0000 0000 = 0 0x 8000 0000 0000 0000 0000 0000 0000 0000 = -0

Čtyřnásobná nekonečna: [2]

0x 7fff 0000 0000 0000 0000 0000 0000 0000 = ∞ 0xffff 0000 0000 0000 0000 0000 0000 0000 = −∞ 0x 3ffd 5555 5555 5555 5555 5555 5555 5555 ≈ 1/3

Podpora

Řada kompilátorů, včetně GCC (od verze 4.0, 2010 [5] ), IBM XL (10.1 [5] ), Intel umožňuje použití "čtyřnásobných" čísel s přesností v programech C/C++ a Fortran (např. typ __float128 [6] , long double, REAL*16), implementující výpočty na nich v softwaru, o 1-2 řády pomalejší než s přesností podporovanou hardwarem [7] . Ačkoli takové výpočty mohou být implementovány v libovolných systémech pro přesné zpracování čísel (např . GMP ), existuje několik specializovaných knihoven se softwarovou implementací "čtyřnásobné" přesnosti [8] [9] [10] . Metody pro hardwarovou implementaci jsou také vyvíjeny [11] [12] , ale od roku 2005 nebyla čtyřnásobná přesnost implementována v hardwaru v masových procesorech [13] .

U některých metod řešení umožňuje čtyřnásobná přesnost rychlejší konvergenci (počet iterací metody) ve srovnání s dvojnásobnou přesností, přičemž každá iterace se prodlužuje díky použití softwarové implementace operací s čísly [14] .

Existuje „dvojitý“ přístup k implementaci čísel s téměř čtyřnásobnou přesností, ale s použitím kratšího formátu exponentu (někdy implementovaného v kompilátorech Fortran pro typ REAL*16). S tímto přístupem například sčítání dvou „double-double“ čísel vyžaduje 8 operací sčítání a odčítání a jedno srovnání nad dvojnásobky [13] .

Viz také

Poznámky

  1. 1 2 skutečná, dvojitá a čtyřnásobná přesnost (jazyková reference FORTRAN 77)
  2. 1 2 3 4 5 6 7 Aritmetika IEEE
  3. https://github.com/gcc-mirror/gcc/blob/03cb8c1ee6db41ed646eb37f164ba972abc6a87a/libquadmath/quadmath.h#L145 FLT128_MAX
  4. https://github.com/gcc-mirror/gcc/blob/03cb8c1ee6db41ed646eb37f164ba972abc6a87a/libquadmath/quadmath.h#L146 FLT128_MIN
  5. 1 2 IBM Použijte dlouhou dvojitou reprezentaci GCC pro 128bitové čtyřnásobně přesné hodnoty s plovoucí desetinnou čárkou - Spojené státy americké
  6. Plovoucí typy – Použití GNU Compiler Collection (GCC)
  7. https://gcc.gnu.org/onlinedocs/gcc-6.2.0/libquadmath.pdf
  8. Zkoumání čtyřnásobné přesnosti čísel s plovoucí desetinnou čárkou v GCC a ICC - Peter Larsson
  9. Archivovaná kopie (odkaz není dostupný) . Získáno 30. listopadu 2016. Archivováno z originálu 30. listopadu 2016. 
  10. Berkeley SoftFloat
  11. Archivovaná kopie (odkaz není dostupný) . Získáno 30. listopadu 2016. Archivováno z originálu 20. srpna 2016. 
  12. http://www.atlantis-press.com/php/download_paper.php?id=4869
  13. 1 2 https://www-zeuthen.desy.de/acat05/talks/de_Dinechin.Florent.2/QuadAndMore.pdf
  14. http://www.siam.org/meetings/la03/proceedings/hhasegaw.pdf