Arytmetyka binarna

Dyskusje ogólne na temat "cyfrówki" czyli wszystko o TTL/CMOS, językach VHDL i VERILOG, bramkach, rejestrach, przerzutnikach... Dobre miejsce na pytania odnośnie uniwersalnych programatorów (np. Willem) a także podłączania własnych peryferiów do komputera PC.
ODPOWIEDZ
Raflles
-
Posty: 77
Rejestracja: 06 sie 2005, 17:15
Lokalizacja: Tychy
Kontakt:

Arytmetyka binarna

Post autor: Raflles » 26 sty 2008, 16:45

Witam. Mam pytanie: Co oznacza, że liczba jest czterobitowa ze znakiem w kodzie U2??
Czy to znaczy że składa się z czterech bitów + znak, czy w czterech bitach jest znak ??
np. -4 = 1.1100 czy 1.100 ?? siedzę już 3 dni na tym i nie kumam. Proszę o pomoc:)

Pozdrawiam.

Awatar użytkownika
Luminofor
Użytkownik
Posty: 1373
Rejestracja: 27 lis 2007, 17:17
Lokalizacja: Polska

Post autor: Luminofor » 26 sty 2008, 17:00

Kod U2 to kod uzupełnień do dwóch, liczba w nim zapisana mieście się w zakresie o ile pamiętam <-127;128>, najstarszy bit informuje o znaku liczby.

Awatar użytkownika
Aro
Użytkownik
Posty: 677
Rejestracja: 30 paź 2006, 18:49
Lokalizacja: Świerczyniec | Wrocław
Kontakt:

Post autor: Aro » 26 sty 2008, 20:45

Pisze z pamięci, więc mogę się mylic. Kod U2 jest chyba najpopularniejszym zapisem liczb całkowitych, ze wzgledu na łatwośc wykonywania operacji arytmetycznych. I tak, znak "-" rezprezentuje najstarszy bit. Wyglada to tak:
2 - 0010
1 - 0001
0 - 0000
-1 - 1111
-2 - 1110
...itd
żeby zamienic liczbe ujemną na dodatnią (przeciwną) wystarczy zanegowac wszystkie bity i dodac do niej 1.

Awatar użytkownika
gaweł
Użytkownik
Posty: 651
Rejestracja: 05 kwie 2004, 8:38
Lokalizacja: Białystok
Kontakt:

Re: Arytmetyka binarna

Post autor: gaweł » 27 sty 2008, 1:43

Raflles pisze:Witam. Mam pytanie: Co oznacza, że liczba jest czterobitowa ze znakiem w kodzie U2??
Czy to znaczy że składa się z czterech bitów + znak, czy w czterech bitach jest znak ??
np. -4 = 1.1100 czy 1.100 ?? siedzę już 3 dni na tym i nie kumam. Proszę o pomoc:)

Pozdrawiam.
Czterobitowa liczba zapisana w kodzie U2 zawiera bit znaku i na pozostałych, czyli 3 bitach, zawiera wartość liczby. Na 4 bitach w kodzie U2 można zapisać liczby od -8 do +7 włącznie. Na 3 bitach można zapisać 8 różnych kominacji, ale z powodu, że liczba 0 jest zaliczona do liczb dodatnich (bo ma bit znaku wyzerowany) powoduje to w/w asymetrię przedziału, czyli 0,1,2,...7 (8 sztuk) dla liczb dodatnicj i -8,-7,...-1 (8 sztuk) dla liczb ujemnych.
MichalKaszuba pisze:Kod U2 to kod uzupełnień do dwóch, liczba w nim zapisana mieście się w zakresie o ile pamiętam <-127;128>, najstarszy bit informuje o znaku liczby.
No troszkę minąłeś się z prawdą. Z pewnością miałeś na myśli liczby 8-bitowe, natomiast Raflles pytał o liczby 4-bitowe. Przy okazji, to zakres dla liczb 8-bitowych zapisanych w kodzie U2 jest -128 +127 (włącznie). :mrgreen:

Raflles
-
Posty: 77
Rejestracja: 06 sie 2005, 17:15
Lokalizacja: Tychy
Kontakt:

Post autor: Raflles » 28 sty 2008, 1:25

Dzięki serdeczne za pomoc właśnie chodziło mi o to jakie liczby da się zapisać na czterech bitach w postaci U2.

Pozdrawiam. Raflles

ODPOWIEDZ