Tutkin murtolukujen edustamista liukulukuarvoina. Se tulee olemaan 8-bittinen esitys. Jossain tekstissä sanotaan, että:
”Käytämme ensimmäistä bittiä merkin edustamiseen (1 negatiivista, 0 positiivista), neljää seuraavaa bittiä 7 ja varsinainen eksponentti (lisätään 7 negatiivisten eksponenttien sallimiseksi), ja viimeiset kolme bittiä mantissan murto-osalle
Nyt kysymys on: Miksi ”7” – eikä muuta arvoa – on lisättävä todelliseen eksponenttiin?
Kommentit
- Tervetuloa CS.SE: hen! Teksti vihjaa miksi, sulkeissa. Muuten, jos et ymmärrä selitystä yhdessä tekstissä ', ' on usein hyödyllistä etsiä eri selitystä aiheesta . Kelluvia pisteitä on paljon.
- Joten miksi 7 tulisi lisätä?
- Jos olet ' ymmärtänyt vastauksen ensimmäinen kysymys, kehotan sinua muokkaamaan viestiäsi osoittamaan, mitä ymmärrät.
Vastaa
4: llä bittiä voit edustaa 16 erilaista arvoa: 0,1, …, 15. Jos haluat sallia negatiiviset eksponentit, on järkevää (noin) puolet mahdollisista arvoista tarkoittaa negatiivista eksponenttia. Lisäämällä 7 eksponenttiin kartoitat arvot -7, -6, …, 0,1, …, 8 edustettavaan alueeseen. Voit myös etsiä kahden täydennysosaa .
Kommentit
- Joten lisäämällä 7, kartat -7, -6, …, – 1 vastaaviin positiivisiin arvoihinsa ja lisäämällä arvo yli 7, tuloksena on virheellinen arvo. Samasta syystä alle 7 eksponentille ei korjaa ongelmaa '. Kiitos, olen ' saanut etsimäni.
- Eri numeroiden lisääminen muuttaa mitä negatiivisia ja mitä positiivisia eksponentteja tuet. Se ' on suunnittelupäätös. Ehkä vain -1: n tukeminen riittää sovelluksellesi.
- Kyllä , olet oikeassa. Tämä on suunnittelupäätös, jonka opettaja on pannut sen täytäntöön opetusohjelman kautta eikä ole tiukkoja rajoituksia.
- Päätös käyttää offsetia 2 ' -komennon sijasta IIRC: n oli pidettävä pienimmän arvon käänteinen pienempi kuin suurin va lue eli ylivuotojen välttämiseksi. Se valittiin toisin sanoen huolella.
- @KWillets: Siirtymä sallii myös nollan esittämisen nollina ja sallii kokonaislukuvertailujen käyttämisen liukulukujen vertailussa (lukuun ottamatta merkkibittiä)