• Nie Znaleziono Wyników

Krótka informacja o systemie dwójkowym

N/A
N/A
Protected

Academic year: 2021

Share "Krótka informacja o systemie dwójkowym"

Copied!
14
0
0

Pełen tekst

(1)

Krótka informacja o systemie dwójkowym

Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków

UTP Bydgoszcz

02a

(2)

Sposoby przedstawiania liczb naturalnych

W systemie dziesiętnym używamy dziesięciu cyfr:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a zapis dmdm−1. . . d1d0 oznacza liczbę

dm· 10m+ dm−110m−1+ . . . + d1· 101+ d0· 100=

m

X

i =0

di· 10i.

Przykład. Zapis 2345 oznacza liczbę 2 · 103+ 3 · 102+ 4 · 101+ 5.

W systemie dwójkowym (binarnym) używamy dwóch cyfr (bitów): 0, 1, a zapis bmbm−1. . . b1b0 oznacza liczbę

bm· 2m+ bm−12m−1+ · · · + b1· 21+ b0· 20=

m

X

i =0

bi · 2i.

Przykład. Zapis 1101 w systemie dwójkowym oznacza liczbę 1 · 23+ 1 · 22+ 0 · 21+ 1 · 20, co w systemie dziesiętnym zapisujemy jako 8 + 4 + 1 = 13.

(3)

System dwójkowy

Przykład.

Liczby naturalne od 0 do 10 zapisane w systemie dwójkowym mają postać:

0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010.

Fakt.

Liczba x ma w systemie dziesiętnym blog10x c + 1 cyfr.

(4)

x ma blog

10

x c + 1 cyfr

Uzasadnienie.

Oznaczmy przez n liczbę cyfr w zapisie dziesiętnym liczby x . Na przykład, gdy x = 87, to n = 2; gdy x = 7, to n = 1;

gdy x = 100 lub x = 999, to n = 3; gdy x = 1000 = 103, to n = 4.

Wtedy

10n−1¬ x < 10n. Logarytmując:

log1010n−1¬ log10x < log1010n, czyli

n − 1 ¬ log10x < n, skąd

log10x < n ¬ log10x + 1.

Zatem n = blog10x + 1c = blog10x c + 1.

(5)

System dwójkowy

Podobnie dowodzi się:

Fakt.

Liczba x ma w systemie o podstawie (bazie) b cyfr blogbx c + 1.

Wniosek.

Liczba , która ma w systemie dziesiętnym k cyfr, ma około k · log210 ≈ 3.321928 · k bitów w systemie dwójkowym.

(6)

Zamiana systemu dziesiętnego na dwójkowy i odwrotnie.

Metoda pierwsza, naturalna, powolna.

Zapisujemy liczbę w postaciPmi =0di· 10i, zamieniamy di oraz 10i na postać dwójkową i wykonujemy działania. Podobnie, mając liczbę w postaciPmi =0bi · 2i, wymnażamy i dodajemy.

Przykład.

23 = 2·10+3 = (10)2·(1010)2+(11)2= (10100)2+(11)2 = (10111)2

Przykład.

(10111)2= 1 · 24+ 0 · 23+ 1 · 22+ 1 · 21+ 1 = 23

(7)

Zamiana systemu dziesiętnego na dwójkowy.

Metoda druga. Dzielimy (wielokrotnie) liczbę w zapisie

dziesiętnym przez dwa i zapisujemy reszty w odwrotnej kolejności.

Uzasadnienie. Gdy podzielimy przez dwa liczbę bm. . .b1b0, czyli k = bm· 2m+ · · · + b2· 22+b1· 21+b0,

to otrzymamy

k/2 = bm· 2m−1+ · · · + b2· 21+b1

i resztę z dzielenia równąb0, jest to ostatnia cyfra w zapisie binarnym. Gdy znowu podzielimy przez dwa otrzymamy resztęb1, jest to przedostatnia cyfra w zapisie binarnym ...

(8)

Zamiana systemu dziesiętnego na dwójkowy.

Przykład.

k k/2 reszta

23 11 1

11 5 1

5 2 1

2 1 0

1 0 1

23 = (10111)2.

Uwaga. Tę metodę możemy stosować do zamiany z systemu dziesiętnego na system z inną bazą b. Wtedy dzielimy nie przez dwa, ale przez b.

(9)

System dwójkowy

Algorytm porównywania liczb w postaci dwójkowej:

Jeśli liczby nie są tej samej długości, to liczba dłuższa jest większą.

Jeśli liczby są tej samej długości, to porównuj bity, kolejno, od lewej do prawej

jeśli bity są takie same, to

sprawdź następny bit po prawej, jeżeli bity są różne, to

zakończ; liczba z 1 jest większa,

jeśli wszystkie bity są takie same, to liczby są równe.

Przykład. 11001111 > 11001101

(10)

System dwójkowy

Algorytm zwiększania o jeden:

weź ostatni bit, powtarzaj:

jeśli bit jest zerem, to

zamień go na 1 i zakończ;

jeśli bit to 1, to

zmień go na 0 i weź następny bit po lewej, jeśli nie ma następnego po lewej, to

dostaw 1 na początku liczby i zakończ.

Przykład.

110011 + 1 = 110100 111111 + 1 = 1000000

(11)

Dodawanie, odejmowanie, mnożenie w system dwójkowym wykonujemy podobnie jak w systemie dziesiętnym

Przykład.

1101 + 1001 10110

101011

− 1111 11100

1011

· 101 1011 0000 +1011

110111 Obserwacja. Pomnożenie liczby (zapisanej w systemie dwójkowym) przez 2n oznacza dopisanie n zer na końcu.

(12)

Dzielenie w system dwójkowym wykonujemy podobnie jak w systemie dziesiętnym

Przykład.

1011 110111 : 101 101

111 101 101 101 0

(13)

Ułamki

Ułamki w systemie dziesiętnym zapisujemy jako 0.d1d2. . . dm

(tutaj di są liczbami ze zbioru {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}), czyli

d1· 10−1+ d2· 10−2+ · · · + dm· 10−m =

m

X

i =1

di· 10−i.

Podobnie w systemie dwójkowym

(tym razem bi są liczbami ze zbioru {0, 1}),

0.b1b2. . . bm = b1· 2−1+ b2· 2−2+ · · · + bm· 2−m=

m

X

i =1

bi · 2−i.

Przykład.

(0.5)10= (0.1)2, (0.25)10= (0.01)2, (0.125)10= (0.001)2

(14)

System szesnastkowy

Tu baza składa się z szesnastu cyfr, zazwyczaj 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C , D, E , F .

Przykład.

(A)16= (10)10, (B1)16= (11 · 16 + 1)10= (177)10, (C 2)16= (12 · 16 + 2)10= (194)10,

(FED)16= (15 · 162+ 14 · 161+ 13)10= (4077)10

Cytaty

Powiązane dokumenty

[r]

Rozwiązania można albo przesyłać do mnie bez- pośrednio e-mailem albo składac najpóźniej do 5 lutego do 17:00 w mojej skrzynce na MIM UW.. Udowodnij Prawo Iterowanego

Warunki rozliczania zużycia ciepła w budownictwie wielorodzinnym, w tym zasady wynikające z Prawa Energetycznego (4.01.2012

Ogniwa paliwowe jako skojarzone źródło ciepła i energii elektrycznej 28. Wpływ obniżenia (podwyższenia) temperatury pomieszczenia na obciążenie cieplne i zużycie

Wykaż, że pola, na które te proste dzielą płaszczyznę, można pomalować dwoma kolorami w taki sposób, by żadne dwie figury sąsiadujące ze sobą wzdłuż odcinka (albo

Jeśli nie wszystkie spośród liczb a, b, c mają jednakowy znak, to albo (1) dwie spośród liczb a, b, c są dodatnie, a trzecia ujemna, albo (2) dwie spośród liczb a, b, c są ujemne,

Jest rzeczą naturalną, że rządzący państwem troszczą się o to, aby środki masowego przekazu przyczyniały się do podwyższenia, a nie do umniejszenia życia

Łatwo podać wiele przykładów zbiorów induktywnych. Takim jest zbiór wszystkich liczb rzeczywistych R, również zbiór nieujemnych liczb rzeczywistych. Można zauważyć, że