Kod U1 do NKB

0

Nie moge <ort>znaleŹĆ</ort> w google jak dziala kod U1, moze ktos wytlumaczyc i powiedziec jak zamienic go na NKB. Z tego co znalazlem wiem, ze liczba dodatnia w U1 jest identyczna z ta sama w NKB, a jak ujemna?

0

mamy np. (A)2 = 10010,1001 czyli jaks liczba w systemie o podstawie p = 2
uzupelnienie p-te (dla tego przypadku 2) tej liczby to 01101,0111
uzupelnienie (p - 1) - sze (1) to 01101,0110
jesli rozpatrujemy liczby ze znakiem to mozemy zapisac je w:

  • zapisie modulowym
  • zapisie odwrotnym
  • zapisie dopelnieniowym
    jesli liczba jest dodatnia to we wszystkich zapisach wyglada tak samo
    0.|A| , czylu dla nas 0.10010,1001
    gdy ujemna (wezmy - A) to, dla zapisu:
  • modulowego
    1.|A| , czyli 1.10010,1001
  • odwrotnego
    1.uzupelnienie (p - 1)-sze |A| , co daje 1.01101,0110
  • dopelnieniowego
    1.uzupelnienie p - te |A| , czyli 1.01101,0111

No to tyle, reszta nalezy do Ciebie.

0

nie wiem czy dobrze zrozumialem, sprobuje powiedziec co wiem (albo mi sie tak wydaje) a ty jak mozesz to popraw.

liczba 10010,1001
"uzpelnienie p-te (dla tego przypadku 2) tej liczby to 01101,0111"
czyli U2, tak? gdzie liczba jest liczona +0*(-2)5+124+123+021+120+02(-1)+12(-2)+12(-3)+12^(-4)
a zamiana na modul polega na zanegowaniu wszystkich bitow i dodaniu do liczby jednego bita

"uzupelnienie (p - 1) - sze (1) to 01101,0110"
liczy sie podobnie do u2,czy NKB wartosc liczby (dziesietna, bo w takiej moj muzg pracuje :)) ?
porownujac z wartoscia dodatnia tej liczby widze ze wszystkie bity sa zanegowane, czy cos wiecej?

"- zapisie modulowym

  • zapisie odwrotnym
  • zapisie dopelnieniowym
    jesli liczba jest dodatnia to we wszystkich zapisach wyglada tak samo
    0.|A| , czylu dla nas 0.10010,1001
    gdy ujemna (wezmy - A) to, dla zapisu:
  • modulowego
    1.|A| , czyli 1.10010,1001
  • odwrotnego
    1.uzupelnienie (p - 1)-sze |A| , co daje 1.01101,0110
  • dopelnieniowego
    1.uzupelnienie p - te |A| , czyli 1.01101,0111"

modulowy i dopelnieniowy rozumiem, U1 to odwrotny? Na tym przykladzie ponownie widze ze wszystkie bity sa zanegowane. Tylko tyle?</quote>

0

Jesli U1 to zapis ze znakiem to mysle, ze w moim nazewnictwie bedzie to zapis odwrotny.
mamy liczbe (A)2 = 1010,0101 i liczbe (B)2 = -A = -1010,0101
w zapisie odwrotnym
(A)o2 = 0.|A| = 0.1010,0101
(B)o2 = 1. uzup (p - 1)-sze |A| = 1.0101,1010
//przed kropka to bit znaku
A zamieniasz to w druga strone tak:
jesli 0 na bicie znaku to piszesz + i to co po bicie znaku
jesli 1 na bicie znaku to piszesz - i uzupelnienie (p-1)-sze tego co po tym bicie

0

" i uzupelnienie (p-1)-sze tego co po tym bicie" A uzupelnienie (p-1)-sze, czyli dla binarnych pierwsze jak sie zapisuje, jest na to jakis wzor(chodzi mi o odczytanie wartosci dziesietnej, tak jak podalem np. dla U2)? Bo na podstawie tego co widze uzupelnienie drugie dla binarnych to zamiana bitow na przeciwne i dodanie 1 bitu, <B>a uzupelnienie pierwsze to tylko zamiana bitow na przeciwne</B>(mowie o zamianie liczby dodatniej, ktorej zapis jest identyczny jak w NKB na ujemna)? Poza tym jak w kodzie U1 rozpoznac czy cyfra jest ujemna czy dodatnia? W U2 na podstawie najbardziej znaczacego bitu, a w U1?

0

Czy Ty w ogole czytasz co ja pisze?

Znak liczby zalezy od najstarszego bitu (jesli 0 to dodatnia jesli 1 to ujemna), ktory ja oddzielam kropka dla poprawienia czytelnosci.
Jesli chodzi o system binarny to uzupelnienie jedynkowe to negacja, a uzupelnienie dwojkowe to negacja plus 1. Wiecej nie pisze bo napisalem wczesniej.

0

aha, myslalem, ze ty cos mieszasz z kodem ZM. Wiec jesli mam liczbe w kodzie U1, np. 010001,011 to jest to liczba dodatnia bo bit znaku = 0, a jak chce zamienic na ujemna to tylko neguje na 101110,100.
Nie napisales tylko jak liczy sie wartosc dziesietna. Tak jak w NKB, tylko dodaje + lub minus zaleznie od bitu znaku, czy moze jak U2...

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