Mam test wielokrotnego wyboru do poćwiczenia liczb zmiennoprzecinkowych.
Ograniczenia są takie: liczba zmiennoprzecinkowa jest 8 bitowa. 1 bit na znak, 3 bity na cechę, 4 bity na mantysę. Cecha jest zapisana z nadmiarem 4.
Pytanie jest takie: Jaka jest największa liczba w tej reprezentacji (dziesiętnie)?
Prawidłowa odpowiedź według quizu jest to 7.75
. Natomiast zupełnie nie rozumiem dlaczego ta odpowiedź jest prawidłowa. Oto moje rozwiązanie zadania:
Największa wartość tej liczby zmiennoprzecinkowej jest wtedy gdy bit znaku jest 0, cecha jest największa i mantysa jest największa.
- Największa cecha ->
111
zapisana z nadmiarem 4, więc cecha jest równa7 - 4 = 3
. - Największa mantysa ->
1111
. Wiadomo, że w pamięci jest zapisana tylko część ułamkowa liczby, a mantysa jest znormalizowana.
Niechw
będzie szukaną wartością. Wtedy:
w
=01,1111 * 2^3
=01111,1
=15.5
Jak widać wynik wyszedł mi niezgodny z odpowiedzią. Czy ktoś byłby w stanie mi wytłumaczyć gdzie popełniam błąd?