Studuji představování zlomkových čísel jako hodnot s plovoucí desetinnou čárkou. Bude to 8bitová reprezentace. Někde v textu se říká, že:
„První bit používáme k reprezentaci znaménka (1 pro negativní, 0 pro pozitivní), další čtyři bity pro součet 7 a skutečný exponent (přidáme 7, abychom umožnili záporné exponenty), a poslední tři bity pro mantisovou „zlomkovou část“
Nyní otázka je: Proč „7“ – a nikoli jiná hodnota – musí být přidána ke skutečnému exponentu?
Komentáře
- Vítejte v CS.SE! Text v závorce naznačuje, proč. Mimochodem, pokud ' nerozumíte vysvětlení v jednom textu, je ' často užitečné hledat jiné vysvětlení předmětu . Na plovoucí řádové čárce je mnoho zdrojů.
- Proč by tedy měla být přidána 7.
- Pokud jste ' pochopili odpověď na vaši otázku první otázka, doporučuji vám upravit svůj příspěvek tak, aby ukázal, čemu rozumíte.
Odpovědět
S 4 bity můžete představovat 16 různých hodnot: 0,1, …, 15. Pokud chcete povolit záporné exponenty, má smysl brát (přibližně) polovinu možných hodnot ve smyslu záporného exponenta. Přidáním 7 k exponentu namapujete hodnoty -7, -6, …, 0,1, …, 8 na reprezentativní rozsah. Můžete také vyhledat doplněk dvou .
Komentáře
- Takže přidání 7, map -7, -6, …, – 1 k jejich odpovídajícím kladným hodnotám a přidání hodnoty větší než 7 má za následek nesprávnou hodnotu mimo rozsah. Ze stejného důvodu přidání méně než 7 exponentu ' t problém nevyřeší. Díky, ' jsem dostal to, co jsem hledal.
- Přidáním různých čísel se změní, které záporné a které kladné exponenty podporujete. ' sa rozhodnutí o návrhu. Možná pro vaši aplikaci stačí pouze podpora -1.
- Ano , máte pravdu. Toto je návrhové rozhodnutí, které instruktor implementoval prostřednictvím tutoriálu a není ' ta přísné omezení.
- Rozhodnutí použít offset místo 2 ' s doplňkem IIRC bylo udržet inverzní hodnotu nejmenší hodnoty menší než největší va lue, tj. aby se zabránilo přetečení. Jinými slovy to bylo pečlivě zvoleno.
- @KWillets: Posun také umožňuje, aby byla nula vyjádřena jako nuly, a umožňuje použít celočíselná srovnání k porovnání čísel s plovoucí desetinnou čárkou (kromě bitu znaménka)