SlideShare a Scribd company logo
1 of 15
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ę.
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

Radiatiile si energia nucleara
Radiatiile si energia nuclearaRadiatiile si energia nucleara
Radiatiile si energia nucleara
Eduard Valeriu
 
NYPC Comprehensive Pain Questionnaire
NYPC Comprehensive Pain QuestionnaireNYPC Comprehensive Pain Questionnaire
NYPC Comprehensive Pain Questionnaire
nypaincare
 
KuolemanSynnitJaVastahyveetJuhaAholaVauhtipyörä.fi
KuolemanSynnitJaVastahyveetJuhaAholaVauhtipyörä.fiKuolemanSynnitJaVastahyveetJuhaAholaVauhtipyörä.fi
KuolemanSynnitJaVastahyveetJuhaAholaVauhtipyörä.fi
Juha Ahola
 
Our town eleftheroupoli
Our town eleftheroupoliOur town eleftheroupoli
Our town eleftheroupoli
zoiasiki
 
QUESTÕES - FILOSOFIA - ENEM 2013
QUESTÕES - FILOSOFIA - ENEM 2013QUESTÕES - FILOSOFIA - ENEM 2013
QUESTÕES - FILOSOFIA - ENEM 2013
Marta Caregnato
 

Viewers also liked (13)

Ane for 9ria_cn
Ane for 9ria_cnAne for 9ria_cn
Ane for 9ria_cn
 
Radiatiile si energia nucleara
Radiatiile si energia nuclearaRadiatiile si energia nucleara
Radiatiile si energia nucleara
 
MongoDB
MongoDBMongoDB
MongoDB
 
Commissioner brief to georgia childrens network
Commissioner brief to georgia childrens networkCommissioner brief to georgia childrens network
Commissioner brief to georgia childrens network
 
NYPC Comprehensive Pain Questionnaire
NYPC Comprehensive Pain QuestionnaireNYPC Comprehensive Pain Questionnaire
NYPC Comprehensive Pain Questionnaire
 
KuolemanSynnitJaVastahyveetJuhaAholaVauhtipyörä.fi
KuolemanSynnitJaVastahyveetJuhaAholaVauhtipyörä.fiKuolemanSynnitJaVastahyveetJuhaAholaVauhtipyörä.fi
KuolemanSynnitJaVastahyveetJuhaAholaVauhtipyörä.fi
 
B. Azemchap _ Time away with my family disconnected
B. Azemchap _ Time away with my family disconnectedB. Azemchap _ Time away with my family disconnected
B. Azemchap _ Time away with my family disconnected
 
Our town eleftheroupoli
Our town eleftheroupoliOur town eleftheroupoli
Our town eleftheroupoli
 
Orientech
OrientechOrientech
Orientech
 
los pasillos
los pasillos los pasillos
los pasillos
 
Inyeccio gasolina
Inyeccio gasolinaInyeccio gasolina
Inyeccio gasolina
 
Conjunção coordenativa mim
Conjunção coordenativa mimConjunção coordenativa mim
Conjunção coordenativa mim
 
QUESTÕES - FILOSOFIA - ENEM 2013
QUESTÕES - FILOSOFIA - ENEM 2013QUESTÕES - FILOSOFIA - ENEM 2013
QUESTÕES - FILOSOFIA - ENEM 2013
 

Zapis liczby ze znakiem

  • 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ę. 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)