SlideShare a Scribd company logo
Zapis liczby ze znakiem
Kod uzupełnieniowy
Binarny zapis liczby całkowitej, w którym najstarszy bit jest
bitem znaku, a pozostałe to bity modułu, oznaczające liczbę.
Moduł jest zawsze zapisany w naturalnym kodzie binarnym.

np.

11010101110110

bit znaku bity modułu
Kod znak-moduł (ZM)

 jeśli bit znaku ma wartość 0, liczba jest nieujemna, jeśli ma 1, jest niedodatnia

 dwie reprezentacje 0
 zakres dla 1 bajta: od -127 do 127
 w działaniach uczestniczą tylko moduły liczb
 obliczanie wartości:

LZM = (-1)bit znaku × moduł liczby
np.

0011(ZM) = 3(10) przeliczenie: (-1)0 x (21 + 20)
1101(ZM) = -5(10) przeliczenie: (-1)1 x (22 + 20)
Przeliczanie liczb dziesiętnych na liczby
ZM
 Wyznaczyć bity modułu wartości bezwzględnej liczby (bez
minusa)
 9(10) = 1101(2)
 Uzupełnić bitami o wartości 0, by uzyskać o jeden bit mniej niż
długość formatu
 0001101
 Jako najstarszy wpisać bit znaku: 0 dla liczby dodatniej lub 1 dla
liczby ujemnej
 9(10) = 00001101(ZM)
Kod uzupełnień do jedności (U1)
 jeśli bit znaku ma wartość 0, liczba jest nieujemna, jeśli ma 1, jest
niedodatnia
 dwie reprezentacje 0

 zakres dla 1 bajta: od -127 do 127
 wartości dodatnie oblicza się tak, jak w naturalnym kodzie binarnym
 obliczanie wartości ujemnych (n - ilość bitów w liczbie):

LU1 = (-2n-1+1) + moduł liczby
np.

0101(U1) = 5(10 ) przeliczenie: 22 + 20
1001(U1) = -6(10) przeliczenie: (-23+ 1) + 20
Przeliczanie dodatnich liczb dziesiętnych
na liczby U1

 Wyznaczyć bity w systemie binarnym
 76(10) = 1001100(2)
 Uzupełnić bitami o wartości 0 do długości formatu
 76(10) = 01001100(U1)
Przeliczanie ujemnych liczb dziesiętnych
na liczby U1
 Wyznaczyć bity modułu wartości bezwzględnej liczby (bez
minusa)
 113(10) = 1110001(2)

 Uzupełnić bitami o wartości 0 do długości formatu
 01110001
 Zanegować wszystkie bity (nadać im wartości przeciwne)

 -113(10) = NOT 01110001 = 10001110(U1)
Przeliczanie ujemnych liczb dziesiętnych
na liczby U1 - sposób 2.
 Wyznaczyć wartość 2n - 1 + liczba
 28 - 1 + (-113) = 256 - 1 - 113 = 142
 Otrzymaną wartość zakodować w naturalnym systemie
binarnym
 142(10) = 10001110(2)
 (-113)(10) = 10001110(U1)
Kod uzupełnień do dwóch (U2)
 najczęściej używany - działania wykonywane jak na zwykłych liczbach
binarnych
 jeśli bit znaku ma wartość 0, liczba jest dodatnia lub równa 0, jeśli ma 1,
jest ujemna
 jedna reprezentacja 0, zawsze o jedną więcej liczb ujemnych niż dodatnich
 zakres dla 1 bajta: od -128 do 127
 wartości dodatnie oblicza się tak, jak w naturalnym kodzie binarnym
 obliczanie wartości ujemnych (n - ilość bitów w liczbie):

LU2 = (-2n-1) + moduł liczby
np.

0011(U2) = 4(10 ) przeliczenie: 21 + 20
1011(U2) = -5(10 ) przeliczenie: (-23) + 21 + 20
Wyznaczanie liczby przeciwnej w kodzie
U2

 Zanegować wszystkie bity w zapisie U2
 NOT 01101110= 10010001
 Do wyniku dodać 1

 10010001 + 00000001 = 10010010
Wyznaczanie liczby przeciwnej w kodzie
U2 - sposób 2.
 Przejść do najmłodszego bitu liczby

 0010010000
 Do wyniku przepisać kolejne bity 0, aż do napotkania bitu 1,
który też przepisać

 0010010000 Wynik: 10000
 Wszystkie pozostałe bity zanegować i przepisać
 Wynik: 1101110000
Przeliczanie dodatnich liczb dziesiętnych
na liczby U2

 Wyznaczyć bity w systemie binarnym
 76(10) = 1001100(2)
 Uzupełnić bitami o wartości 0 do długości formatu
 76(10) = 01001100(U2)
Przeliczanie ujemnych liczb dziesiętnych
na liczby U2

 Wyznaczyć wartość 2n-1 + liczba
 27 + (-45) = 128 - 45 = 83(10) = 1010011(2)
 W razie potrzeby uzupełnić zerami, dodać bit znakowy 1

 11010011(U2)
Przeliczanie ujemnych liczb dziesiętnych
na liczby U2 - sposób 2.

 Wyznaczyć zapis binarny liczby przeciwnej (dodatniej)

 45(10) = 101101(2)
 Uzupełnić bitami 0 do długości formatu
 00101101
 Wyznaczyć liczbę przeciwną
 (-45)(10) = 11010011(U2)
Przeliczanie ujemnych liczb dziesiętnych
na liczby U2 - sposób 3.

 Do liczby 2n dodać przeliczaną liczbę dziesiętną

 28 + (-45) = 256 - 45 = 211
 Zamienić otrzymaną liczbę na postać binarną
 211 = 11010011(2)
 (-45)(10) = 11010011(U2)

More Related Content

Viewers also liked

Como insertar un video en power point
Como insertar un video en power pointComo insertar un video en power point
Como insertar un video en power point
victorjordanmedina
 
Lead Youth Instructor job description
Lead Youth Instructor job descriptionLead Youth Instructor job description
Lead Youth Instructor job description
Adam Joerres
 
Ebs 0131 pg036
Ebs 0131 pg036Ebs 0131 pg036
Ebs 0131 pg036
Avesh Gada
 
Progetto MatematicaeRealtà 2011
Progetto MatematicaeRealtà 2011Progetto MatematicaeRealtà 2011
Progetto MatematicaeRealtà 2011
Seppo.io
 
ANZICS S&Q 2014 - RRT: Chris Nickson on the ICU registrars perspective
ANZICS S&Q 2014 - RRT: Chris Nickson on the ICU registrars perspectiveANZICS S&Q 2014 - RRT: Chris Nickson on the ICU registrars perspective
ANZICS S&Q 2014 - RRT: Chris Nickson on the ICU registrars perspective
ANZICS
 
ANZICS S&Q 2014 - RRT: Anna Green presents the role of the ICU liaison nurses...
ANZICS S&Q 2014 - RRT: Anna Green presents the role of the ICU liaison nurses...ANZICS S&Q 2014 - RRT: Anna Green presents the role of the ICU liaison nurses...
ANZICS S&Q 2014 - RRT: Anna Green presents the role of the ICU liaison nurses...
ANZICS
 
Lawadve
LawadveLawadve

Viewers also liked (7)

Como insertar un video en power point
Como insertar un video en power pointComo insertar un video en power point
Como insertar un video en power point
 
Lead Youth Instructor job description
Lead Youth Instructor job descriptionLead Youth Instructor job description
Lead Youth Instructor job description
 
Ebs 0131 pg036
Ebs 0131 pg036Ebs 0131 pg036
Ebs 0131 pg036
 
Progetto MatematicaeRealtà 2011
Progetto MatematicaeRealtà 2011Progetto MatematicaeRealtà 2011
Progetto MatematicaeRealtà 2011
 
ANZICS S&Q 2014 - RRT: Chris Nickson on the ICU registrars perspective
ANZICS S&Q 2014 - RRT: Chris Nickson on the ICU registrars perspectiveANZICS S&Q 2014 - RRT: Chris Nickson on the ICU registrars perspective
ANZICS S&Q 2014 - RRT: Chris Nickson on the ICU registrars perspective
 
ANZICS S&Q 2014 - RRT: Anna Green presents the role of the ICU liaison nurses...
ANZICS S&Q 2014 - RRT: Anna Green presents the role of the ICU liaison nurses...ANZICS S&Q 2014 - RRT: Anna Green presents the role of the ICU liaison nurses...
ANZICS S&Q 2014 - RRT: Anna Green presents the role of the ICU liaison nurses...
 
Lawadve
LawadveLawadve
Lawadve
 

zapis_znak

  • 1. Zapis liczby ze znakiem
  • 2. Kod uzupełnieniowy Binarny zapis liczby całkowitej, w którym najstarszy bit jest bitem znaku, a pozostałe to bity modułu, oznaczające liczbę. Moduł jest zawsze zapisany w naturalnym kodzie binarnym. np. 11010101110110 bit znaku bity modułu
  • 3. Kod znak-moduł (ZM)  jeśli bit znaku ma wartość 0, liczba jest nieujemna, jeśli ma 1, jest niedodatnia  dwie reprezentacje 0  zakres dla 1 bajta: od -127 do 127  w działaniach uczestniczą tylko moduły liczb  obliczanie wartości: LZM = (-1)bit znaku × moduł liczby np. 0011(ZM) = 3(10) przeliczenie: (-1)0 x (21 + 20) 1101(ZM) = -5(10) przeliczenie: (-1)1 x (22 + 20)
  • 4. Przeliczanie liczb dziesiętnych na liczby ZM  Wyznaczyć bity modułu wartości bezwzględnej liczby (bez minusa)  9(10) = 1101(2)  Uzupełnić bitami o wartości 0, by uzyskać o jeden bit mniej niż długość formatu  0001101  Jako najstarszy wpisać bit znaku: 0 dla liczby dodatniej lub 1 dla liczby ujemnej  9(10) = 00001101(ZM)
  • 5. Kod uzupełnień do jedności (U1)  jeśli bit znaku ma wartość 0, liczba jest nieujemna, jeśli ma 1, jest niedodatnia  dwie reprezentacje 0  zakres dla 1 bajta: od -127 do 127  wartości dodatnie oblicza się tak, jak w naturalnym kodzie binarnym  obliczanie wartości ujemnych (n - ilość bitów w liczbie): LU1 = (-2n-1+1) + moduł liczby np. 0101(U1) = 5(10 ) przeliczenie: 22 + 20 1001(U1) = -6(10) przeliczenie: (-23+ 1) + 20
  • 6. Przeliczanie dodatnich liczb dziesiętnych na liczby U1  Wyznaczyć bity w systemie binarnym  76(10) = 1001100(2)  Uzupełnić bitami o wartości 0 do długości formatu  76(10) = 01001100(U1)
  • 7. Przeliczanie ujemnych liczb dziesiętnych na liczby U1  Wyznaczyć bity modułu wartości bezwzględnej liczby (bez minusa)  113(10) = 1110001(2)  Uzupełnić bitami o wartości 0 do długości formatu  01110001  Zanegować wszystkie bity (nadać im wartości przeciwne)  -113(10) = NOT 01110001 = 10001110(U1)
  • 8. Przeliczanie ujemnych liczb dziesiętnych na liczby U1 - sposób 2.  Wyznaczyć wartość 2n - 1 + liczba  28 - 1 + (-113) = 256 - 1 - 113 = 142  Otrzymaną wartość zakodować w naturalnym systemie binarnym  142(10) = 10001110(2)  (-113)(10) = 10001110(U1)
  • 9. Kod uzupełnień do dwóch (U2)  najczęściej używany - działania wykonywane jak na zwykłych liczbach binarnych  jeśli bit znaku ma wartość 0, liczba jest dodatnia lub równa 0, jeśli ma 1, jest ujemna  jedna reprezentacja 0, zawsze o jedną więcej liczb ujemnych niż dodatnich  zakres dla 1 bajta: od -128 do 127  wartości dodatnie oblicza się tak, jak w naturalnym kodzie binarnym  obliczanie wartości ujemnych (n - ilość bitów w liczbie): LU2 = (-2n-1) + moduł liczby np. 0011(U2) = 4(10 ) przeliczenie: 21 + 20 1011(U2) = -5(10 ) przeliczenie: (-23) + 21 + 20
  • 10. Wyznaczanie liczby przeciwnej w kodzie U2  Zanegować wszystkie bity w zapisie U2  NOT 01101110= 10010001  Do wyniku dodać 1  10010001 + 00000001 = 10010010
  • 11. Wyznaczanie liczby przeciwnej w kodzie U2 - sposób 2.  Przejść do najmłodszego bitu liczby  0010010000  Do wyniku przepisać kolejne bity 0, aż do napotkania bitu 1, który też przepisać  0010010000 Wynik: 10000  Wszystkie pozostałe bity zanegować i przepisać  Wynik: 1101110000
  • 12. Przeliczanie dodatnich liczb dziesiętnych na liczby U2  Wyznaczyć bity w systemie binarnym  76(10) = 1001100(2)  Uzupełnić bitami o wartości 0 do długości formatu  76(10) = 01001100(U2)
  • 13. Przeliczanie ujemnych liczb dziesiętnych na liczby U2  Wyznaczyć wartość 2n-1 + liczba  27 + (-45) = 128 - 45 = 83(10) = 1010011(2)  W razie potrzeby uzupełnić zerami, dodać bit znakowy 1  11010011(U2)
  • 14. Przeliczanie ujemnych liczb dziesiętnych na liczby U2 - sposób 2.  Wyznaczyć zapis binarny liczby przeciwnej (dodatniej)  45(10) = 101101(2)  Uzupełnić bitami 0 do długości formatu  00101101  Wyznaczyć liczbę przeciwną  (-45)(10) = 11010011(U2)
  • 15. Przeliczanie ujemnych liczb dziesiętnych na liczby U2 - sposób 3.  Do liczby 2n dodać przeliczaną liczbę dziesiętną  28 + (-45) = 256 - 45 = 211  Zamienić otrzymaną liczbę na postać binarną  211 = 11010011(2)  (-45)(10) = 11010011(U2)