Tartalomjegyzék¶
Az összesítés előkészítése - ENS de Rennes, 2018-19¶
A dokumentumról
Programozási kérdés¶
A szöveg programozási kérdése a XXX oldalon található:

Modellezés¶
Szabadon választhatjuk a megközelítést.
Szöveg¶
TODO: konvertáljon LaTeX-re, és használjon olyan modellt, amely nagyon hasonlít a "valódi szövegek" modelljére.
Ez a szöveg elmagyarázza a posztok működését, először részletezve a bitjeik jelentését, majd megbeszélve a pontosságukat és az adaptív amplitúdót.
A hozzászólások a valós számok számítógépen való megjelenítésének új formátuma (2015), amelyet a standard lebegőpontos számok (IEEE) alternatívájaként kínálnak. A teljesebb bemutatás a posithub.org oldalon található .
A positok előnye, hogy képesek nagyobb pontosságot vagy adaptív amplitúdót adni, ugyanolyan bitszámot használva, mint egy standard úszó. Például, ha a szoftver 64 bites IEEE lebegőről 32 bites pozícióra tud váltani, akkor egyszerre kétszer annyi számot képes tárolni a memóriában! Lehet, hogy feleslegesnek tűnik, de ez a fajta fejlesztés hasznos lehet a fedélzeti mikrokomputerek (pl. Vezeték nélküli érzékelők, robotok) számításaiban, a rendszer memóriája gyakran nagyon korlátozott, de egy hagyományos számítógép is, amely nagyszámú adatot kezel (pl. Gépi tanulás a számítógépen) nagy adathalmazok).
Emlékeztetők az IEEE 754 úszókon¶
Emlékeztetünk arra, hogy a szokásos úszókat gyakran úszónak nevezik az OCaml, a Python, a C és a Java esetében is. Az architektúrától függően az úszók 32 vagy 64 bites úszók, és általában a duplák 64 vagy 128 bites úszók, amelyek mind az IEEE 754 szabványt követik. A Pythonban az úszók valóban duplákat használnak C.
Emlékeztetni fogunk arra is, hogy a standard úszók három speciális értéket tartalmaznak: NaN ("nem szám", nem szám), végtelen vagy inf, amely a $ + \ infty $, és neg_infinity vagy -inf, amely $ - \ infty $.
IEEE úszó számtani¶
A speciális értékek és a speciális értékeket generáló számítások számítási szabályait az alábbi példák szemléltetik:
Vegye figyelembe azt is, hogy az IEEE úszók esetén két nulla van, egy negatív és egy pozitív:
Ez nem így van az egész számokkal, például:
Végül emlékeztetünk arra, hogy a valós számok aritmetikája nem pontos, például:
Ábrázolás bittömbökön keresztül¶
Noha a NaN értéke és a végtelen egyedülálló, valójában nagyon sok lehetséges reprezentációjuk van, amelyet gyakran pazarlásként kritizálnak. Például a 32 bites IEEE úszók kb 16 millió a NaN képviseletének módja! Lásd ezt az oldalt ott (teljesebb angol nyelven). Ez az oldal felesleges kódolási példákat mutat be a 64 bites IEEE float-okhoz, és ez a 32 bites float-okhoz.
Az Int32 modullal úsztathat bitek sorozatából. A "_" karakterrel elválasztom a jelbitet, az exponensbiteket és a mantisszát (vagy jelentőset).
Max. És min. A "0b0_11111111_11111111111111111111111111" kódot nem használhatjuk max., Mert ez nanót képvisel, és a "0b0_00000000_00000000000000000000000000000" számot sem használhatjuk, mert ez nulla.
A nulláknak kitevője és nulla van kitöltve:
A végtelenek kitevője $ 1 $ és egy mantissa $ 0 $.
Redundáns kódolás! ¶
Több példa a Nem szám:
Millió ilyen van, mivel az 1 dollárral töltött kiállító mindig nanó! Óriási helypazarlás! Pontosan van $ 2 ^ = 16777216 (16 millió) dollár, mivel tetszőleges értéket adhatunk a mantissa 23 dolláros bitjeire és az előjel bitjére !
Univerzális számok és posztok¶
Az "egyetemes számokat" (unum) John Gustafson javasolta a valós szám véges számú bit felhasználásával történő ábrázolásának másik módjaként, hogy alternatívát lehessen adni az IEEE lebegőpontos számainak. Lásd A hiba vége című könyvét. A bejegyzések az unums hardverbarát változata., J. Gustafson, 2015 (lásd még ezt a referenciadokumentumot, és rövidebb bevezetésért lásd ezt az oldalt és ezt a posztert).
A lebegőpontos számnak (IEEE 754) van egy előjelbitje, a kitevőt képviselő bitkészlet és a szignifikánsnak nevezett bitkészlet (más néven "mantissza"). Adott méret esetén a különböző részek hossza rögzített és szabványosított. A 64 biteken azonos IEEE 752 szám, 1 előbites, 11 exponensbit és 52 bit a jelentős.
Egy pozitív felveszi ezt az elképzelést, de hozzáad egy negyedik kategóriát, a rendszert. A pozit (rendezett) bitek halmaza, amelyek a következők (ebben a sorrendben):
- jel bit,
- diéta,
- kiállító,
- töredék.
Az IEEE 754 szám szignifikanciája megfelel a "tört résznek", azaz a frakciónak. A klasszikus lebegőpontos számokkal ellentétben a kitevő két részének és a pozitúrának nincs fix hossza. Az előjel és a sebesség bitek elsőbbséget élveznek, majd a fennmaradó bitek, ha vannak, az exponensbe kerülnek. Végül, ha marad egy bit az exponens után, akkor a töredékben mennek.