Prezentowane materiały są przeznaczone dla uczniów szkół ponadgimnazjalnych. Autor artykułu: mgr Jerzy Wałaszek, wersja1.0 |
©2013 mgr
Jerzy Wałaszek
|
Potrzeba liczenia pojawiła się wraz z posiadaniem przedmiotów. Człowiek pierwotny nie odczuwał jej. Jako myśliwy nie mógł posiadać zbyt wiele. Rzeczy należało przenosić, więc jeśli czegoś było za dużo, po prostu pozostawiano to w miejscu obozowania. Duża liczba przedmiotów spowalniała myśliwego. Co za tym idzie, malały jego szanse na zdobycie pożywienia, a mógł również przez to sam stać się ofiarą. Jednak pewien prosty system liczenia pojawił się około 30.000 lat p.n.e. Był to system karbowy (ang. notch system). Polegał na żłobieniu w kościach karbów, których ilość oznaczała określoną liczbę. System ten stosowany jest w ograniczonej formie do dnia dzisiejszego, więc można go nazwać najdłużej używanym wynalazkiem człowieka.
Początkowo dla wyrażenia jednostek stosowano pojedyncze kreski. Np.
liczbę 18 zapisywano tak:
Jednak zapis ten jest mało czytelny - porównaj go z zapisem np.
liczby 17 czy 19. Można się pomylić? Oczywiście. Aby więc zwiększyć
czytelność zapisu liczb co piątą kreskę stawiano pod innym katem od
pozostałych. Teraz liczbę 18 zapisywano tak:
Ilość kresek (karbów) jest taka sama, ale
dzięki zaburzeniom łatwiej jest się zorientować w wartości liczby - są
to trzy pełne piątki i trzy jednostki. Człowiek pierwotny, jeśli miał
nazwy dla liczb, mógł to przeczytać jako trzy razy po pięć i trzy. Jeśli
w liczbie tak zapisanej występowało dużo piątek, to co drugą piątkę
zapisywano jeszcze inaczej, mianowicie tak:
System karbowy wyewoluował w znany nam dzisiaj system rzymski (ang. Roman numeral system). Rzymianie, jako ludzie praktyczni, uprościli zapis karbowy odrzucając niepotrzebne kreski po lewej stronie. W efekcie zapis liczby 18 wyglądał teraz tak:
XVIII
Pięknie - Rzymianie też byli z tego zadowoleni. Idąc za ciosem wymyślili dalsze reguły. Reguły te możemy zapisać następująco:
Cyfra | wartość |
I | jeden |
V | pięć |
X | dziesięć |
L | pięćdziesiąt |
C | sto od łacińskiego "centum" |
D | pięćset |
M | tysiąc od łacińskiego "milum" |
12 | – XII |
29 | – XXVIIII |
1999 | – MDCCCCLXXXXVIIII |
4 | – IV |
9 | – IX |
1999 | – MCMXCIX |
O ile przedtem dodawanie można było wykonywać przez wspólne zapisanie cyfr obu dodawanych liczb, a następnie zastąpienie cyfr niższych wyższymi:
MMCCCXXVI + MDCCXXVII = MMMDCCCCCXXXXVVIII = MMMDDXXXXXIII = MMMMLIII
to po zastosowaniu reguły 3 należało szalenie uważać, aby nie popełnić pomyłki. W rezultacie uproszczenie zapisu spowodowało skomplikowanie rachunków.
XXXVICMLXXXIV
Zgrabnie, nieprawdaż? Rzymianie byli naprawdę bardzo dumni ze swojego systemu zapisu liczb. Przetrwał on w ograniczonej formie nawet do dzisiaj przy zapisie dat lub numeracji rozdziałów, klas, sal, pięter, godzin itp. Jednak pomimo tych usprawnień system rzymski był ograniczony. Jak bowiem zapisać w tym systemie na przykład taką liczbę:
9426164130947320732385384038740846725325161632379864930747364030384752621 ?
Cywilizacja babilońska rozkwitła w Mezopotamii wypierając wcześniejsze cywilizacje Sumerów i Akadyjczyków. Piętno Babilonu odcisnęło się na wielu cywilizacjach świata starożytnego, a jego echo jest obecne nawet w naszej kulturze. Babilończycy rozwinęli jako pierwsi system pozycyjny o podstawie 60 (do dzisiaj dzielimy godziny na sześćdziesiąt minut, minuty na sześćdziesiąt sekund - czy kiedykolwiek zastanawiałeś się dlaczego?). Cechą systemu pozycyjnego jest ograniczona ilość cyfr. Te same cyfry są używane wielokrotnie w zapisie liczby. Wartość cyfry zależy od jej pozycji - stąd nazwa system pozycyjny.
Z naszego punktu widzenia system babiloński (ang. Babylonian numeral system) na pierwszy rzut oka może wydawać się skomplikowany - konieczność operowania aż 59 cyframi (cyfra zero nie była jeszcze znana ani stosowana). W rzeczywistości Babilończycy potrzebowali tylko dwóch symboli - dla jedności i dla dziesiątek. Ich cyfry były zbudowane właśnie z tych dwóch znaków zapisywanych końcem ostrej trzcinki na tabliczce glinianej, stąd pochodzi charakterystyczny, klinowy kształt pisma:
Dlaczego wybrano podstawę 60? Prawdopodobnie zadecydowało to, że liczbę 60 można podzielić przez 2,3,4,5,6,10,12,15,20 i 30. System liczbowy o podstawie 60 nazywamy systemem sześćdziesiątkowym (ang. sexagesimal system).
W systemie babilońskim ostatnia cyfra oznaczała liczbę jednostek od 1 do 59. Gdy Babilończyk chciał zapisać liczbę 65, to używał dwóch cyfr (tak samo jak my przy zapisie liczby 15). Pierwsza cyfra 1 oznaczała jedną sześćdziesiątkę. Druga cyfra 5 oznaczała 5 jednostek:
Babilończycy nie używali cyfry 0. Zamiast niej po prostu zostawiano puste miejsce w zapisie liczby. Odpowiada to interpretacji zera przez ludy starożytne. Po prostu zero nie było traktowane jako liczba, ponieważ liczba określa ilość czegoś, a jeśli czegoś nie ma, to nie można mówić o ilości. Przecież rybak, który nie złowił żadnej ryby, nie przychodził do domu wołając radośnie od progu "mam zero ryb!". Problem z pustym miejscem mógł się pojawiać, gdy w zapisie liczby dwie pozycje obok siebie były niezajęte. W późniejszym okresie Babilończycy wprowadzili w tym celu znak wypełniający, jednakże nie traktowali go nigdy jako cyfry.
Jeśli cyfr było więcej, to posiadały one wagi, które są kolejnymi potęgami liczby 60 – podstawy tego systemu:
numer pozycji | 3 | 2 | 1 | 0 |
waga pozycji | 603 = 216000 | 602 = 3600 | 601 = 60 | 600 = 1 |
cyfra | ||||
wartość cyfry | 6 | 25 | 9 | 56 |
Wartość liczby uzyskamy mnożąc wagi pozycji przez wartości cyfr, które na tych pozycjach występują, a następnie sumując te iloczyny. Zwróć uwagę, że waga pozycji jest zawsze równa podstawie systemu podniesionej do potęgi równej numerowi pozycji.
Zauważ, że system babiloński pozwala bez problemu zapisywać dowolnie duże liczby (jakie wagi miałaby pozycje o numerach 4, 5, 6?). Jest zatem lepszy od systemu rzymskiego.
System zapisu liczb, którym posługujemy się dzisiaj, nosi nazwę systemu dziesiętnego (ang. decimal numeral system) lub systemu arabskiego (ang. Arabic numeral system). Nazwa sugeruje, iż został on wynaleziony przez Arabów. Tymczasem prawda jest inna. Arabowie przejęli go od Hindusów i rozpowszechnili w Europie. To uczonym bramińskim przysługuje palma pierwszeństwa w opracowaniu zapisu pozycyjnego. Pierre-Simon Laplace (1749-1827), wielki matematyk francuski, napisał kiedyś następujące słowa:
Genialna metoda wyrażania każdej możliwej liczby przy użyciu zbioru dziesięciu symboli (z których każdy posiada wagę pozycji oraz wartość bezwzględną) powstała w Indiach. Dzisiaj pomysł ten wydaje się tak prostym, iż jego znaczenie i istota nie są już doceniane. Prostota tego pomysłu leży w sposobie, w jaki ułatwia on wykonywanie obliczeń, co umieściło arytmetykę na czele użytecznych wynalazków, a znaczenie tego wynalazku może być bardziej docenione, gdy zdamy sobie sprawę, iż dokonał on się poza dwoma największymi umysłami starożytności, Archimedesem i Apoloniuszem. |
Ciekawostką jest to, iż system dziesiętny został powszechnie przyjęty dopiero po ponad 200 latach od pojawienia się w Europie. Wcześniej powszechnie korzystano z systemu rzymskiego. Wykonywanie rachunków w systemie rzymskim było bardzo skomplikowane i wymagało studiów matematycznych. Matematycy, uważając sie za elitę, nie chcieli utracić swojej uprzywilejowanej pozycji na rzecz nowego systemu, w którym rachunki mogły wykonywać nawet dzieci. Ludzie nie zawsze przyjmują z entuzjazmem to, co jest lepsze.
Podstawę systemu dziesiętnego (ang. decimal system base) tworzy liczba 10. Jest to specjalna wartość charakteryzująca system pozycyjny, od której bierze on swoją nazwę: podstawa 10 - system dziesiętny.
Zapis liczby tworzymy za pomocą cyfr, czyli umownych znaków o przypisanych wartościach od 0 do 9. Ilość cyfr jest zawsze równa podstawie systemu, czyli w systemie dziesiętnym będzie ich dziesięć. Największa cyfra jest o 1 mniejsza od podstawy (9 = 10 - 1).
Cyfry umieszczamy na kolejnych pozycjach. Każda pozycja posiada swoją wartość, którą nazywamy wagą pozycji. Wagi pozycji są kolejnymi potęgami podstawy systemu, czyli w systemie dziesiętnym są to kolejne potęgi liczby 10:
wagi | 1000 103 |
100 102 |
10 101 |
1 100 |
---|---|---|---|---|
cyfry | 7 | 5 | 8 | 2 |
pozycje | 3 | 2 | 1 | 0 |
Cyfra na danej pozycji określa ile razy należy wziąć wagę tej pozycji przy wyznaczaniu wartości całej liczby. Zatem w naszym przykładzie waga 1000 występuje 7 razy, waga 100 - 5 razy, waga 10 - 8 razy i waga 1 - 2 razy. Wartość liczby otrzymujemy sumując iloczyny cyfr przez wagi pozycji, na których cyfry te występują (czyli ilości tych wag):
7 × 1000 + 5 × 100 + 8 × 10 + 2 × 1
Jeśli pozycje ponumerujemy kolejno od 0 poczynając od prawej strony zapisu liczby, to waga pozycji i-tej będzie i-tą potęgą podstawy systemu. Np. pozycja nr 3 ma wagę 103, czyli 1000, a pozycja nr 2 ma wagę 102, czyli 100.
Zapamiętaj:Zbiór podstawowych cech dowolnego systemu pozycyjnego o podstawie p
|
Podane powyżej zasady obowiązują w każdym systemie pozycyjnym.
Aby zrozumieć inne systemy pozycyjne należy przyjąć do wiadomości, iż wartość liczby jest niezależna od sposobu jej zapisu. Dla przykładu weźmy pojęcie DOM, które w języku niemieckim zapisuje się DAS HAUS, w angielskim THE HOUSE, a w hiszpańskim LA CASA. Zapis za każdym razem jest inny, lecz znaczenie ma to samo. Przyjmijmy do wiadomości, iż inne systemy pozycyjne, to jakby inne języki, w których daną liczbę wyraża się inaczej niż w naszym systemie dziesiętnym, ale wartość liczby pozostaje taka sama.
Podane w poprzednim rozdziale zasady obowiązują w każdym systemie pozycyjnym o dowolnej podstawie. Jeśli je zrozumiesz, systemy pozycyjne przestaną być dla ciebie tajemnicą.
Oto charakterystyka dowolnego systemu pozycyjnego:
Niech podstawą będzie liczba naturalna p większa od 1 (dla p = 1 system pozycyjny degraduje się do systemu karbowego).
System posiada p cyfr: 0,1,2, ..., (p - 1). Ostatnia cyfra jest zawsze o 1 mniejsza niż podstawa p.
Kolejne wagi pozycji będą przyjmowały wartość kolejnych potęg podstawy systemu:
Wynika stąd prosty wniosek, iż waga każdej następnej pozycji jest
Przykład:
Wagi 4 pozycji w różnych systemach liczbowych | |||||
---|---|---|---|---|---|
Podstawa p |
Wartości wag pozycji | ||||
pozycja 4 | pozycja 3 | pozycja 2 | pozycja 1 | pozycja 0 | |
2 | 24 = 16 | 23 = 8 | 22 = 4 | 21 = 2 | 20 = 1 |
3 | 34 = 81 | 33 = 27 | 32 = 9 | 31 = 3 | 30 = 1 |
4 | 44 = 256 | 43 = 64 | 42 = 16 | 41 = 4 | 40 = 1 |
5 | 54 = 625 | 53 = 125 | 52 = 25 | 51 = 5 | 50 = 1 |
6 | 64 = 1296 | 63 = 216 | 62 = 36 | 61 = 6 | 60 = 1 |
7 | 74 = 2401 | 73 = 343 | 72 = 49 | 71 = 7 | 70 = 1 |
8 | 84 = 4096 | 83 = 512 | 82 = 64 | 81 = 8 | 80 = 1 |
9 | 94 = 6561 | 93 = 729 | 92 = 81 | 91 = 9 | 90 = 1 |
10 | 104 = 10000 | 103 = 1000 | 102 = 100 | 101 = 10 | 100 = 1 |
Zwróć uwagę na ostatnią kolumnę. Wynika z niej, iż waga ostatniej pozycji w każdym systemie pozycyjnym jest taka sama i określa liczbę jednostek.
Wartość liczby obliczamy sumując iloczyny cyfr przez wagi ich pozycji. Stąd otrzymujemy wzór na wartość liczby w dowolnym systemie pozycyjnym.
Zapamiętaj:Wartość dziesiętna liczby zapisanej w systemie pozycyjnym o podstawie p za pomocą ciągu cyfr
Cn-1Cn-2...C2C1C0 wynosi Cn-1 pn-1 + Cn-2 pn-2 + ... + C2 p2 + C1 p1 + C0 p0
gdzie: C - cyfra danego systemu o podstawie p |
Ponieważ z doświadczenia wiem, iż uczniowie nie bardzo rozumieją ten prosty wzór, podaję krok po kroku metodę obliczania wartości liczby zapisanej w dowolnym systemie pozycyjnym.
Przykład:
Obliczyć wartość dziesiętną liczby szóstkowej 53214(6).
wartość wagi | 64 | 63 | 62 | 61 | 60 |
wartość cyfry | 5 | 3 | 2 | 1 | 4 |
numer pozycji | 4 | 3 | 2 | 1 | 0 |
wartość wagi | 64 | 63 | 62 | 61 | 60 | |
wartość cyfry | 5 | 3 | 2 | 1 | 4 | = 5 × 64 + 3 × 63 + 2 × 62 + 1 × 61 + 4 × 60 |
numer pozycji | 4 | 3 | 2 | 1 | 0 |
wartość wagi | 64 | 63 | 62 | 61 | 60 | |
wartość cyfry | 5 | 3 | 2 | 1 | 4 | = 5 × 1296 + 3 × 216 + 2 × 36 + 1 × 6 + 4 × 1 |
numer pozycji | 4 | 3 | 2 | 1 | 0 |
wartość wagi | 64 | 63 | 62 | 61 | 60 | |
wartość cyfry | 5 | 3 | 2 | 1 | 4 | = 6480 + 648 + 72 + 6 + 4 |
numer pozycji | 4 | 3 | 2 | 1 | 0 |
wartość wagi | 64 | 63 | 62 | 61 | 60 | |
wartość cyfry | 5 | 3 | 2 | 1 | 4 | = 7210 |
numer pozycji | 4 | 3 | 2 | 1 | 0 |
I ostatecznie piszemy 53214(6) = 7210(10). Jeśli operujemy liczbami zapisanymi w różnych systemach pozycyjnych, to w celu uniknięcia niejednoznaczności liczbę opatrujemy indeksem dolnym, w którym umieszczamy wartość podstawy systemu zapisu danej liczby. Powyższa równość oznacza, iż zapis szóstkowy i dziesiętny oznacza tę samą liczbę.
Problem sprowadza się do znalezienia kolejnych cyfr zapisu liczby w systemie docelowym. Wartość liczby L jest równa zgodnie ze wzorem:
L = Cn-1 pn-1 + Cn-2 pn-2 + ... + C2 p2 + C1 p + C0
Do wydobycia poszczególnych cyfr Ci , i = 0,1,2,...,n-1, są nam potrzebne dwa działania:
Jeśli podzielimy L przez p, otrzymamy:
Ostatnia cyfra C0 nie dzieli się przez p (każda cyfra jest mniejsza od podstawy systemu), zatem będzie resztą z dzielenia całkowitoliczbowego L przez p. Pozostała część wyrażenia jest jak widać podzielna przez p. Zauważ, iż w wyniku dostajemy liczbę z mniejszą ilością cyfr. W porównaniu z poprzednią liczbą wszystkie cyfry są przesunięte o 1 pozycję w prawo - teraz najmłodszą cyfrą jest C1. Operację powyższą powtarzamy aż do znalezienia wszystkich cyfr zapisu liczby.
Przykład:
Przedstawić w systemie piątkowym liczbę 139(10).
Praktycznie działania te wykonujemy w słupku, dzieląc całkowitoliczbowo liczbę przez podstawę systemu i wypisując reszty z dzielenia. Gdy rachunki zakończymy, otrzymane reszty odczytujemy w kierunku z dołu do góry, otrzymując kolejne cyfry zapisu liczby.
Przykłady:
Przedstawić w systemie czwórkowym liczbę 2743(10).
2743 div 4 = | 685 | i reszta 3 |
685 div 4 = | 171 | i reszta 1 |
171 div 4 = | 42 | i reszta 3 |
42 div 4 = | 10 | i reszta 2 |
10 div 4 = | 2 | i reszta 2 |
2 div 4 = | 0 | i reszta 2 - koniec, ponieważ wynik dzielenia wynosi 0 |
2743(10) = 222313(4).
Przedstawić w systemie dziewiątkowym liczbę 35921(10).
35921 div 9 = | 3991 | i reszta 2 |
3991 div 9 = | 443 | i reszta 4 |
443 div 9 = | 49 | i reszta 2 |
49 div 9 = | 5 | i reszta 4 |
5 div 9 = | 0 | i reszta 5 - koniec |
35921(10) = 54242(9).
Przedstawić w systemie trójkowym liczbę 325748(10).
325748 div 3 = | 108582 | i reszta 2 |
108582 div 3 = | 36194 | i reszta 0 |
36194 div 3 = | 12064 | i reszta 2 |
12064 div 3 = | 4021 | i reszta 1 |
4021 div 3 = | 1340 | i reszta 1 |
1340 div 3 = | 446 | i reszta 2 |
446 div 3 = | 148 | i reszta 2 |
148 div 3 = | 49 | i reszta 1 |
49 div 3 = | 16 | i reszta 1 |
16 div 3 = | 5 | i reszta 1 |
5 div 3 = | 1 | i reszta 2 |
1 div 3 = | 0 | i reszta 1 - koniec |
325748(10) = 121112211202(3).
Zapamiętaj:Wartość dziesiętna liczby zapisanej w naturalnym kodzie binarnym
bn-1bn-2...b2b1b0 = bn-12n-1 + bn-22n-2 + ... + b222 + b121 + b020 gdzie b - bit, cyfra dwójkowa 0 lub 1 |
Przykład:
Obliczyć wartość liczby dwójkowej 11100101(2).
11100101(2) = 1 × 27 + 1 × 26 +
1 × 25 + 0 × 24 + 0 × 23 + 1 × 22
+ 0 × 21 + 1 × 20
11100101(2) = 1 × 128 + 1 × 64 + 1 × 32 + 0 × 16 +
0 × 8 + 1 × 4 + 0 × 2 + 1 × 1
11100101(2) = 128 + 64 + 32 + 4 + 1
11100101(2) = 229(10)
Jeśli dokładnie przyjrzysz się powyższym obliczeniom, to na pewno zauważysz, iż w systemie binarnym w celu obliczenia wartości liczby wystarczy po prostu zsumować wagi pozycji, na których cyfry przyjmują wartość 1.
Przykład:
Jest to znaczne uproszczenie w stosunku do innych systemów, gdzie musimy wykonywać mnożenia cyfr przez wagi pozycji. Tutaj albo dana waga występuje w wartości liczby (cyfra 1), albo nie występuje (cyfra 0). Nie na darmo system binarny jest najprostszym systemem pozycyjnym.
Bardzo ważne dla informatyka i programisty jest nauczenie się na pamięć pierwszych szesnastu liczb binarnych:
dziesiętnie | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
dwójkowo | 0 | 1 | 10 | 11 | 100 | 101 | 110 | 111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
Schemat Hornera |
---|
Wejście: ciąg cyfr binarnych Wyjście: W - wartość liczby reprezentowanej przez ciąg cyfr binarnych
K01: W
pierwsza cyfra |
Operację mnożenia 2 × W możemy zastąpić dodawaniem W + W. Dodawanie komputer wykonuje o wiele szybciej od mnożenia (jeszcze szybszą operacją jest przesunięcie bitów o jedną pozycję w lewo - taką operację wykonuje pojedynczy rozkaz procesora i jest ona szybsza od dodawania!)..
Przykład:
Obliczyć schematem Hornera wartość liczby binarnej 111010111101(2)
dla 1b mamy | 1(2) | = 1(10) |
dla 2b mamy | 11(2) | = 2 + 1 = 3(10) |
dla 3b mamy | 111(2) | = 4 + 2 + 1 = 7(10) |
dla 4b mamy | 1111(2) | = 8 + 4 + 2 + 1 = 15(10) |
... |
Otrzymujemy kolejne liczby:
dla 1b mamy dla 2b mamy dla 3b mamy dla 4b mamy ... |
1 3 7 15 |
Liczby te tworzą prosty ciąg potęgowy:
dla 1b mamy | 1 | = 21 - 1 |
dla 2b mamy | 3 | = 22 - 1 |
dla 3b mamy | 7 | = 23 - 1 |
dla 4b mamy | 15 | = 24 - 1 |
... |
Wykładnik potęgowy liczby 2 jest równy ilości bitów, zatem dla n bitów otrzymujemy wzór:
Zapamiętaj:Zakres n bitowej liczby w naturalnym kodzie dwójkowym wynosi Z(2) = 0 ... 2n - 1 |
Przykład:
Jaką największą liczbę dziesiętną można przedstawić przy pomocy 64 bitów?
Odp.
1101001001001110100010100010001000101 oraz 1101001001001110100010100110001000101
różnią się tylko jednym bitem. Czy możesz go od razu wskazać?
Programując komputery często mamy do czynienia z wartościami binarnymi. Aby uprościć ich zapis wykorzystuje się dwa systemy zastępcze - ósemkowy oraz szesnastkowy. Wybór tych systemów jest podyktowany tym, iż są one bardziej czytelne dla człowieka od systemu binarnego oraz w bardzo prosty sposób można przeliczać liczby binarne na system ósemkowy i szesnastkowy (8 = 23, 16 = 24 – podstawy 2, 8 i 16 są ze sobą powiązane).
Liczbę binarną (lub ogólniej dowolny kod binarny) można wyrazić w systemie ósemkowym. Do konwersji niezbędna nam jest poniższa tabela (sugeruję wyuczenie się jej na pamięć), w której wartości cyfr ósemkowych wyrażone są w naturalnym kodzie binarnym.
Tabelka konwersji |
|
---|---|
cyfra |
wartość |
0 | 000 |
1 | 001 |
2 | 010 |
3 | 011 |
4 | 100 |
5 | 101 |
6 | 110 |
7 | 111 |
Zasada konwersji dwójkowo ósemkowej jest następująca. Liczbę binarną (kod binarny) rozdzielamy na grupy 3 bitowe, idąc od strony prawej ku lewej. Jeśli w ostatniej grupie jest mniej bitów, to brakujące bity uzupełniamy zerami. Teraz każdą z 3 bitowych grup zastępujemy cyfrą ósemkową zgodnie z tabelką konwersji. W wyniku otrzymujemy liczbę ósemkową o identycznej wartości jak wyjściowa liczba binarna.
Przykład:
Konwertujemy liczbę dwójkową na ósemkową:
1110101000101010111101010101(2) = 1650527525(8) |
Zwrocie uwagę na fakt, iż zapis ósemkowy jest dla nas o wiele bardziej
czytelny od zapisu dwójkowego. Ambitnym uczniom proponuję sprawdzenie,
iż wartości obu liczb są identyczne.
Konwersja w drugą stronę jest jeszcze prostsza. Każdą cyfrę ósemkową zastępujemy grupą 3 bitów wg tabelki konwersji. Grupy łączymy w jedną liczbę binarną.
Przykład:
Konwertujemy liczbę ósemkową na dwójkową:
7266501472 |
|||||||||
7 | 2 | 6 | 6 | 5 | 0 | 1 | 4 | 7 | 2 |
111 | 010 | 110 | 110 | 101 | 000 | 001 | 100 | 111 | 010 |
7266501472(8) = 111010110110101000001100111010(2)
W podobny sposób do opisanej powyżej konwersji dwójkowo ósemkowej wykonujemy konwersję dwójkowo szesnastkową. Znów potrzebujemy tabelkę konwersji, w której cyfry szesnastkowe są przeliczone na system dwójkowy:
Tabelka konwersji |
|
---|---|
cyfra |
wartość |
0 | 0000 |
1 | 0001 |
2 | 0010 |
3 | 0011 |
4 | 0100 |
5 | 0101 |
6 | 0110 |
7 | 0111 |
8 | 1000 |
9 | 1001 |
A | 1010 |
B | 1011 |
C | 1100 |
D | 1101 |
E | 1110 |
F | 1111 |
Liczbę dwójkową dzielimy na grupy 4-ro bitowe idąc od strony prawej ku lewej. Jeśli w ostatniej grupie jest mniej bitów, to brakujące wypełniamy zerami. Następnie każdą grupę bitów zastępujemy jedną cyfrą szesnastkową zgodnie z tabelką konwersji.
Przykład:
Konwertujemy liczbę dwójkową na szesnastkową:
1110101000101010111101010101(2) = EA2AF55(16). |
Konwersja w drugą stronę jest następująca:
Każdą cyfrę szesnastkową zastępujemy grupą 4 bitów wg tabelki konwersji. Grupy łączymy w całość, otrzymując odpowiednik dwójkowy wyjściowej liczby szesnastkowej.
Przykład:
Konwertujemy liczbę szesnastkową na dwójkową:
3FAC72608D(16) = 11111110101100011100100110000010001101(2) |
Zapis szesnastkowy w pewnym sensie jest lepszy od ósemkowego, ponieważ
lepiej pasuje do opisu zawartości komórek pamięci komputera. Komórka
pamięci zbudowana jest z 8 bitów, zatem jej zawartość przekłada się
zawsze na dwucyfrową liczbę szesnastkową (w zapisie
ósemkowym są to 3 cyfry, z których najstarsza może przyjąć jedynie
wartości od 0 do 3).
I Liceum Ogólnokształcące |
Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl
W artykułach serwisu są używane cookies. Jeśli nie chcesz ich otrzymywać,
zablokuj je w swojej przeglądarce.
Informacje dodatkowe