1
Dwójkowy system
liczenia
2
Dwójkowy system liczenia
• występują w nim dwie cyfry,
• jest to system pozycyjny o podstawie
2
3
Liczba w systemie dwójkowym:
1001 1010=
=
12
7
+02
6
+02
5
+12
4
+12
3
+02
2
+12
1
+
02
0
= =128+16+8+2= 154 (
dziesiętnie)
czyli 10011010B = 154
4
Zamiana
liczby
dziesiętnej
na
dwójkową
polega
na
odejmowaniu
wag
kolejnych bitów.
5
Zacznijmy
od
najstarszych:
nr bitu: 7 6 5 4 3 2 1 0
waga: 128
64 32 16 8
4 2 1
6
Przekształcamy liczbę 53 do postaci
dwójkowej:
53 53 53 21 5 5 1 1
-128 -64 -32 -16 -8 -4 -2 -1
= = 21 5 = 1 = 0
0 0 1 1 0 1 0 1
7
Operacje na liczbach dwójkowych
Dodawanie - podobnie jak dziesiętnie:
01110101
+ 00110110
10101011
przy czym: 0+0=0,
1+0=0+1=1
1+1=10
8
Odejmowanie
Odejmowanie
można
zastąpić
dodawaniem liczby ujemnej.
9
JAK
PRZEDSTAWIAMY
LICZBĘ
UJEMNĄ?
10
Trzeba zakodować znak – (minus).
Jeden z bitów liczby, zwykle najstarszy,
jest rezerwowany dla znaku.
0 oznacza liczbę dodatnią
1 liczbę ujemną.
11
Kod znak-moduł
najstarszy bit = znak liczby
pozostałe 7 bitów = moduł (wartość
bezwzględna) liczby
12
Znak-moduł
Np.
ujemne
-7 = 1000 0111 B
-17 = 10010001 B
dodatnie
10 = 000001010 B
13
PROBLEM
Co to jest 00000000B i 10000000B?
Czy +0 i -0?
Jedna liczba ma dwie różne
reprezentacje.
Rodzi to poważne problemy
techniczne.
14
SYSTEM (KOD) UZUPEŁNIEŃ DO 2
Aby wyznaczyć dwójkową
reprezentację liczby ujemnej, należy
zanegować bity w jej dodatniej
postaci i dodać 1.
Np. Liczba -40
40= 00101000 B
negacja 11010111
+1 +00000001
-40=
11011000 B
w kodzie U2
15
U2 - przykłady
-1 = 1111 1111
-2 = 1111 1110
-3 = 1111 1101
-4 = 1111 1100
-5 = 1111 1011
-6 = 1111 1010
-7 = 1111 1001
-8 = 1111 1000
16
Operacje logiczne
W tych operacjach liczba dwójkowa jest
traktowana jako zbiór pojedynczych bitów.
17
Negacja logiczna NOT - zanegowanie
bitów
NOT
01010011
10101100
18
Iloczyn logiczny AND dwu liczb
01010011
AND
11011001
01010001
19
Suma logiczna OR dwu liczb
01010011
OR
00111001
01111011
20
SZESNASTKOWY SYSTEM LICZENIA
21
Szesnastkowo
/
dziesiętnie/
dwójkowo
0
0
0000
1
1
0001
2
2
0010
3
3
0011
4
4
0100
5
5
0101
6
6
0110
7
7
0111
8
8
1000
9
9
1001
A
10
1010
B
11
1011
C
12
1100
D
13
1101
E
14
1110
F
15
1111
22
szesnastkowo
dziesiętnie
dwójkowo
binarnie
0
0
0000
1
1
0001
2
2
0010
3
3
0011
4
4
0100
5
5
0101
6
6
0110
7
7
0111
8
8
1000
9
9
1001
A
10
1010
B
11
1011
C
12
1100
D
13
1101
E
14
1110
F
15
1111
23
System
szesnastkowy
jest
zwięźlejszą
formą
zapisu
niż
dwójkowy. Bajt podzielono na pół i
każdą połówkę zastąpiono jedną
cyfrą szesnastkową.
24
Przekształćmy liczby dwójkowe do
postaci szesnastkowej i odwrotnie.
1110 0010 B = E2 H
E 2
0011 1010 B = 3A H
3 A
25
Przekształćmy liczby z postaci
szesnastkowej na dziesiętną
3BF1 H=
3*16
3
+11*16
2
+15*16
1
+1*16
0
=
3*4096 +11*256 +15*16 +1*1=
15345
26
Przedstawione powyżej sposoby zapisu
nazywane
są
reprezentacją
stałopozycyjną. Nazwa pochodzi stąd, iż
przecinek pozycyjny rozdzielający część
całkowitą i ułamkową liczby ma stałe
miejsce i występuje po ostatniej cyfrze.
27
Obliczenia do samodzielnego
wykonania
Obliczenia wykonujemy na liczbach
długości 1 bajta.
28
Obliczenia
1.
Zamień na postać dwójkową liczby
dziesiętne
a)
19
b)
120
2. Dodaj powyższe liczby w postaci binarnej.
3. Przedstaw liczby ujemne w kodzie U2.
a) -99
b)
-17
4. Wykonaj dodawanie 19 + (-99) w postaci
dwójkowej
29
Obliczenia
5. Wykonaj na liczbach 10010110 i
00011100,
a) operację sumy logicznej,
b) operację iloczynu logicznego,
6. Zamień liczbę szesnastkową na
dziesiętną:
a) 26H
b) A3H
30
Obliczenia
7. Zamień liczby dwójkowe na
szesnastkowe
a) 01111110
b) 10011111
8. Zamień liczby szesnastkowe na
dwójkowe
a) ADH
b) C4H
31
Między innymi na podstawie
http://www.ae.krakow.pl/~wiluszt/WSEI/I1/wsei-i1-
w02.pdf
Pozostałe informacje w pliku
W1 cd nadmiary i przeniesienia.pdf