Systemy liczbowe
Strona domowa
Zarys teoretyczny
Naturalny system dwójkowy
Kod uzupełnień do dwóch
Kod znak-moduł
Standard IEEE 754
System szesnastkowy
Ćwiczenia
Naturalny system dwójkowy
Kod uzupełnień do dwóch
Kod znak-moduł
Standard IEEE 754
System szesnastkowy
TEST

"Działania arytmetyczne w kodzie znak-moduł"

Podaj 2 liczby w kodzie znak-moduł. Wynik zostanie przedstawiony na 8 bitach:

=

Suma:

Dodając 2 liczby w kodzie znak-moduł musimy zastosować reguły opisane w poniższej tabelce. Stosując tylko zasady arytmetyki dwójkowej otrzymamy błędne wyniki.

Reguły dodawania liczb ZM
wynik = a(ZM) + b(ZM)
Znak a(ZM)Znak b(ZM)OperacjaZnak wyniku
00dodawanie modułów0
11dodawanie modułów1
01odejmowanie modułu mniejszego
od modułu większego
znak większego
modułu
10

W działaniach uczestniczą tylko moduły liczb. Bity znaków pełnią różne funkcje decyzyjne opisane w powyższej tabelce.

Przykłady:



0011110011010100
+ 0010
+ 1010
- 0100
- 1011
0101
1110
1001
0001
3+2 = 5(-4)+(-2) = -64+(-5) = -14+(-3) = 1

Różnica:

Podobnie sytuacja przedstawia się dla odejmowania. Chcąc w poprawny sposób odjąć od siebie liczby zapisane w kodzie znak-moduł musimy zastosować się do reguł zawartych w poniższej tabelce.

Reguły odejmowania liczb ZM
wynik = a(ZM) - b(ZM)
Znak a(ZM)Znak b(ZM)OperacjaZnak wyniku
00Odejmowanie modułu mniejszego od modułu większegoZnak a(ZM), jeśli moduł ten jest większy od modułu b(ZM). Inaczej znak przeciwny.
11
01Dodawanie modułów0
10Dodawanie modułów1


Przykłady:



0011110001011100
- 0010
- 1010
+ 1010
+ 0011
0001
1010
0111
1111
3-2 = 1(-4)-(-2) = -25-(-2) = 7(-4)-3 = -7

Iloczyn i iloraz:

Dla mnożenia i dzielenia stosujemy te same reguły zawarte w poniższej tabelce:

Reguły mnożenia i dzielenia liczb ZM
wynik = a(ZM) x b(ZM)
wynik = a(ZM) : b(ZM)
Znak a(ZM)Znak b(ZM)OperacjaZnak wyniku
00Mnożenie lub dzielenie modułówJeśli znaki a(ZM) i b(ZM) są takie same, to 0. Inaczej 1
11
01
10


Przykłady:



0011110001011100
* 0010
* 1010
* 1010
* 0011
000
000
000
100
011  
100  
101  
100  
+ 000    

+ 000    

+ 000    

+ 000    

00110 
01000 
11010 
11100 
3*2 = 6(-4)*(-2) = 85*(-2) = -10(-4)*3 = -12



    0 1,01

    0 1,01

 1 10,1

 0 101: 0 100
      1 101: 1 100
       0 101: 1 010
  -100

-100  

-10   

   00100
   00100
  0010
     -100

     -100

   -010

      000
      000
    000
5:4 = 1,25(-5):(-4) = 1,255:(-2) = -2,5

 

Wykonanie Radosław Kędzierski