[Systemy liczbowe] Zmiennoprzecinkowa w systemie binarnym

Awatar użytkownika
k221
Użytkownik
Użytkownik
Posty: 83
Rejestracja: 23 sie 2015, o 15:01
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 22 razy

[Systemy liczbowe] Zmiennoprzecinkowa w systemie binarnym

Post autor: k221 »

Cześć, byłbym wdzięczny za wytłumaczenie moich wątpliwości odnośnie kodowania liczb zmiennoprzecinkowych w systemie binarnym. Więc mamy: \(\displaystyle{ liczba = mantysa \cdot 2^{cecha}}\), gdzie mantysa jest z zakresy \(\displaystyle{ {0} cup [0,5 ; 1)}\) a cecha jest kodowana w U2. Teraz mamy takie zadanie:

Ile potrzeba bitów na zakodowanie liczb z przedziału \(\displaystyle{ [-45 , 69]}\) z dokładnością do trzech miejsc po przecinku.

I ja to robię tak:
Najpierw dokładność - czyli mantysa:
\(\displaystyle{ 10 ^{-3} = 2 ^{x}
\\10 ^{3} = 2 ^{x}
\\x = log _{2} (10)^3
\\x = 3log _{2}(10)
\\x \approx 3*3,3 \approx 10}\)


Czyli 10 bitów an mantysę, teraz cecha:
\(\displaystyle{ 69 - (-45) = 114 < 2^{7}}\)

I teraz mam problem, bo według źródła do którego patrzyłem teraz mam wziąć 7 bitów na cechę, ale ze wzoru wynika że teraz powinienem zakodować liczbę 7 w kodzie U2, na co wystarczą 3 bity i wziąć liczbę 3 jako ilość bitów potrzebnych na cechę, więc jk to jest - 7 czy 3? Oraz czy potrzebuję przy takim układzie dodatkowych bitów na znak?
Ostatnio zmieniony 10 lut 2018, o 15:28 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
dvrx47
Użytkownik
Użytkownik
Posty: 34
Rejestracja: 7 mar 2017, o 22:30
Płeć: Mężczyzna
Lokalizacja: Poland
Podziękował: 7 razy
Pomógł: 2 razy

[Systemy liczbowe] Zmiennoprzecinkowa w systemie binarnym

Post autor: dvrx47 »

k221 pisze: Ile potrzeba bitów na zakodowanie liczb z przedziału \(\displaystyle{ [-45 , 69]}\) z dokładnością do trzech miejsc po przecinku.
Wystarczy 17 bitów. Dlaczego? Bo bitów potrzeba tyle samo co na zakodowanie liczb całkowitych z przedziału \(\displaystyle{ \left[ -45999; 69999 \right]}\) czyli 115999 liczb.
ODPOWIEDZ