Poprzedni temat «» Następny temat
Arytmetyka U2, U1
Autor Wiadomość
moz486 
Nowy na forum


Dołączył: 13 Sty 2009
Posty: 3
Skąd: Wrocław
Wysłany: 2009-01-13, 11:24   Arytmetyka U2, U1

Witam,
Mam pewien problem, nie do końca wiem kiedy wynik jest poprawny w U2:
Przykład 1:
Kod:
kod U2, k=4;
  1000   (-8)
 +1101   (-3)
---------
1|0101   (-11)

Teraz pytanie, jeśli wynik przekroczy zakres to bit nadmiaru jest po prostu ignorowany?
Jeśli tak, to wynik jest niepoprawny, ale czy zapisujemy go jako 0101 czy po prostu jest on niepoprawny i już? Chodzi o zadanie na kolokwium, mam napisać, że wynik niepoprawny, czy 0101, bo np. w innych przykładach też jest przekroczenie zakresu, ignorujemy bit, który nie mieści się i wynik okazuje się poprawny, ale to można sprawdzić tylko przekształcając na system dziesiętny?
W U1 dodajemy bit nadmiaru do pozycji najmniej znaczącej i wychodzi dla przykładu powyżej 0110 i też wynik nie jest -11, czy to jest też niepoprawne czy wynikiem jest 0110?
Komputer wiadomo jak liczy, gdy przekroczy zakres to będzie to liczba, która została uzyskana, mimo że jest niepoprawna.
Dzięki z góry za pomoc.
 
     
Melon 



Dołączył: 20 Cze 2008
Posty: 120
Skąd: Kraków / Jarosław
Wysłany: 2009-01-13, 13:07   

Komputer widzi wynik 0101, czyli +5. Dodatkowo komputer powinien też ustawić flagi C i bodajże V, jeżeli mnie pamięć nie myli, które powinieneś wykorzystać w interpretacji wyniku.

Wynik jest niepoprawny.
 
 
     
moz486 
Nowy na forum


Dołączył: 13 Sty 2009
Posty: 3
Skąd: Wrocław
Wysłany: 2009-01-13, 14:33   

Dla U2 będzie +5, a dla U1 będzie +6, czy wynik dla U1 też jest niepoprawny?
 
     
Melon 



Dołączył: 20 Cze 2008
Posty: 120
Skąd: Kraków / Jarosław
Wysłany: 2009-01-13, 16:17   

A jaki wynik jest poprawny? [:
 
 
     
moz486 
Nowy na forum


Dołączył: 13 Sty 2009
Posty: 3
Skąd: Wrocław
Wysłany: 2009-01-13, 17:08   

Rozumiem, że w U2 wynik jest niepoprawny bo odcinamy jedynkę najbardziej znaczącą i wychodzi 5, ale w U1 dla tego samego przykładu jedynkę najbardziej znaczącą dodajemy do pozycji najmniej znaczącej czyli przenosimy, wtedy wychodzi jakiś wynik 6 czy 5 czy 7??? i czy wynik jest poprawny zawsze dla U1, i jak się liczy w systemie U1?
 
     
Melon 



Dołączył: 20 Cze 2008
Posty: 120
Skąd: Kraków / Jarosław
Wysłany: 2009-01-13, 22:14   

http://layer.uci.agh.edu....p?go=komb_arytm

Ciebie interesują układy dodające, od strony 7. Mam nadzieję, że to rozwieje Twoje wątpliwości
 
 
     
Servibilis
Nowy na forum


Dołączył: 25 Sie 2013
Posty: 1
Skąd: Warszawa
Wysłany: 2013-08-25, 14:16   

Witam!

Ja mam takie pytanie odnośnie tego tematu, chciałbym wykonać działanie

13 + (- 20,25)

w kodzie U1 i U2

13 w U1 to 001101
20,25 w U1 to 010100,01

Wiem jak zamienić 20 na -20 w U1 ale nie wiem jednak jak zamienić liczbę z przecinkiem 20,25 na ujemną i dodać, żeby wynik się zgadzał i wynosił -7,75, czy ktoś mógłby mi wytłumaczyć?

Pozdrawiam
 
     
kayron 
PLC FATEK, automatyka na życzenie



Wiek: 37
Dołączył: 21 Wrz 2008
Posty: 1857
Skąd: Poland
Wysłany: 2013-08-25, 16:16   

Odsyłam do książki WNT panów K.Sacha i A. Rydzewski "Mikroprocesor w pytaniach i odpowiedziach" z 1985 roku. Tam to jest przedstawione łopatologicznie, na przykładzie CPU Z80.
Zacytuję fragment.
Cytat:

Działania dodawania i odejmowania liczb, całkowitych ze znakiem w zapisie U2, są identyczne do przedstawionych, zmienia się tylko warunek przekroczenia zakresu przez wynik.
Przekroczenie zakresu przez liczby w zapisie U2 nazywa się nadmiarem - V (ang. overflow). nadniar jest sumą modulo 2 przeniesień Cn i Cn-1.
V = Cn xor Cn-1 = Cn Cn-1 v Cn Cn-1
przykład:
_ 11111011 -5
+ 11110000 -16
------------
Cn=1 11101011 -21
Cn-1=1 czyli V = 0

W przypadku liczb z przecinkiem, sprawa się komplikuje, bo trzeba to odpowiednio zapisać i liczyc.
 
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  


Powered by phpBB modified by Przemo © 2003 phpBB Group
Strona wygenerowana w 0,04 sekundy. Zapytań do SQL: 10