• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Prawidłowa postać mantysy zapisanej w U2 w liczbach zmiennoprzecinkowych.

0 głosów
125 wizyt
pytanie zadane 11 czerwca w Matematyka, fizyka, logika przez dabs Nowicjusz (120 p.)
edycja 11 czerwca przez dabs

Siemka, aktualnie przygotowuje się do egzaminu wstępnego na studia magisterskie z informatyki i mam pewną zagwozdkę z kilkoma zadaniami dotyczącymi liczb zmiennoprzecinkowych.

Treść zadań:

1) Dana jest następująca reprezentacja liczb zmiennopozycyjnych: Mantysa zajmuje 22 bity w tym bit znaku, cecha zajmuje 10 bitów w tym bit znaku. Cecha i mantysa zapisywane są w kodzie U2. Przecinek leży na lewo od mantysy (mantysa jest ułamkiem [1/2..1]). Jaka jest największa możliwa liczba w tym systemie?

2) Dana jest następująca reprezentacja liczb zmiennopozycyjnych: Mantysa zajmuje 20 bitów, wykładnik zajmuje 8 bitów; Wykładnik i mantysa zapisywane są w kodzie U2; Przecinek leży na lewo od mantysy; Z dokładnością do ilu cyfr dziesiętnych można pamiętać liczby w tej reprezentacji?


Uściślając nie wiem jak poprawnie zapisać mantysę tak aby było to zgodne z treściami powyższych zadań. 

W 1) zadaniu jest powiedziane, że "Mantysa zajmuje 22 bity w tym bit znaku", takie samo założenie w przypadku cechy. Moim zdaniem stwierdzenie "w tym bit znaku" jest redundantne, jako że każde słowo liczbowe zapisane w systemie U2 zawiera bit znaku i jest to bit o największym znaczeniu. Będę wdzięczny za potwierdzenie.


Drugi problem mam z założeniem "Przecinek leży na lewo od mantysy" w obu zadaniach. To także wydaje mi się informacją niepotrzebną, ponieważ mantysa w liczbie zmiennoprzecinkowej jest ułamkiem i przecinek powinien znajdować się tuż za bitem o największym znaczeniu. Nie daje mi spokoju tylko to, że to założenie jakby wymusza pozycję przecinka przed bitem o największym znaczeniu, czyli taka mantysa mogła by przyjąć postać:

Przecinek za bitem o największym znaczeniu "Przecinek leży na lewo od mantysy"
x.xxx....xxx .xxx...xxx

No i tu pojawia się problem bo w zależności od tego gdzie przyjmę domyślne miejsce dla przecinka bit o największym znaczeniu będzie miał różne wagi:

Dla pierwszej kolumny: -2^0 = -1

Dla drugiej kolumny: -2^(-1) = -1/2

Czyli różne wagi dla bita o największym znaczeniu, dadzą nam różne zakresy mantysy. Intuicja (i literatura) podpowiadają, że zapis gdzie przecinek jest za bitem o największym znaczeniu jest poprawny i mantysa będzie przyjmować wartości z zakresu [-1; 1 - 2^(1-n)]. I taką postać mantysy przyjmuje podczas rozwiązywania tych zadań.

Jeszcze jedna, obiecuję ostatnia już zagwozdka. W treści pierwszego zadania mamy podany przedział wartości mantysy [1/2; 1]. Czy to oznacza, że bit znaku jest zawsze równy 0, a maksymalna wartość mantysy w postaci binarnej to: 0.111...111, a w systemie dziesiętnym 1 (no prawie, bo dokładnie 1-2^(-21)), z kolei minimalna to w postaci binarnej 0.100...000, w systemie dziesiętnym 1/2?


W pierwszym zadaniu otrzymałem, że największa możliwa liczba w tak zadanym systemie to 2^511 czyli +-10^(153,83). Odpowiedź do drugiego zadania to: +-5.7197 czyli z możemy zapamiętać około 5/6 cyfr dziesiętnych w tej reprezentacji.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 287 wizyt
pytanie zadane 26 stycznia 2023 w Rozwój zawodowy, nauka, praca przez WOJCIECH999 Nowicjusz (120 p.)
+1 głos
1 odpowiedź 462 wizyt
0 głosów
2 odpowiedzi 1,101 wizyt
pytanie zadane 22 stycznia 2018 w Systemy operacyjne, programy przez niezalogowany

93,762 zapytań

142,717 odpowiedzi

323,368 komentarzy

63,359 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...