Zamiana liczb ułamkowych.

0

Witam. Mam problem dotyczący zamiany ujemnej liczby ułamkowej na system U1, U2 i ZM (znak - moduł).

Próbowałem liczyć w U2 i wyszło mi coś takiego (przykładowa liczba -0,25):

0,25 = 00000,01000
15 = 1111,000000
16 + (- 0,25) = 15,75 = 1111,11

  • 0,25 = 1111,110000

Dobrze? Jak to będzie wyglądało w przypadku U1 i ZM? Proszę o pomoc lub podanie jakichś dobrych materiałów na ten temat.

0

15 = 01111u2 = 01111u1 = 01111zm
1111u2 = -1
1111u1 = 0000u1 = 0
1111zm = -7
Musisz uwzględnić pierwszy bit będący bitem znaku w każdym z tych przypadków.
Żeby nie było niedomówień lepiej dobrać stałą ilość bitów, na jakiej kodujemy.

0

Ok. Dla całkowitych to ja umiem, pytam o ujemne ułamkowe. U2 jest dobrze? ZM będzie tak?

0,25(10) = 0,01(2)
Dla 4 całkowitych i 6 ułamkowych:
-0,25 = 1000,010000

A jak dla tego U1 bo nie mam pojęcia.

0

0,25 = 0.01(ZM, U1, U2)
-0.25=1.01(ZM)=1.10(U1)=1.11(U2)
(Tylko dla liczb ujemnych)W U1 negujesz wszystkie bity (nie dotyczy to bitu znaku), a w U2 negujesz wszystkie bity ZM poza ostatnią "1" i wszystkim na prawo od tej "1"(również nie dotyczy bitu znaku).

0

Dokładnie to w u2 negujesz wszystkie bity i inkrementujesz.
W u1 wszystkie zera są znaczące, stąd 1.10u1 != 1.1u1

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0