System liczbowy - to inaczej zbiór reguł do jednolitego definiowania, zapisywania i nazywania liczb. Do zapisywania liczb zawsze używa się pewnego skończonego zbioru.
Download ReportTranscript System liczbowy - to inaczej zbiór reguł do jednolitego definiowania, zapisywania i nazywania liczb. Do zapisywania liczb zawsze używa się pewnego skończonego zbioru.
Slide 1
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 2
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 3
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 4
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 5
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 6
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 7
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 8
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 9
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 10
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 11
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 12
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 13
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 14
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 15
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 16
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 17
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 18
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 2
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 3
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 4
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 5
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 6
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 7
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 8
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 9
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 10
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 11
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 12
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 13
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 14
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 15
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 16
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 17
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt
Slide 18
System liczbowy - to inaczej zbiór reguł do jednolitego
definiowania, zapisywania i nazywania liczb.
Do zapisywania liczb zawsze używa się pewnego skończonego
zbioru znaków - zwanych cyframi (np. arabskimi lub rzymskimi),
które jednak można zestawiać ze sobą na różne sposoby (w różnej
kolejności) otrzymując odpowiednią liczbę kombinacji.
Pozycyjne systemy liczbowe:
jedynkowy system liczbowy
dwójkowy system liczbowy
siódemkowy system liczbowy
ósemkowy system liczbowy
dziesiętny system liczbowy
dwunastkowy system liczbowy
szesnastkowy system liczbowy
sześćdziesiątkowy system liczbowy
Złożone systemy liczbowe można już podzielić na:
◙ addytywne - posiadają osobne symbole dla pierwszych kilku liczb, a
następnie posiadają kolejne symbole dla ich wielokrotności. W systemach
tych liczby tworzy się przez "dodawanie" kolejnych symboli i stąd ich
nazwa (np. liczby rzymskie "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16).
Najstarszym tego rodzaju systemem liczbowym był stosowany w
Mezopotamii
sześćdziesiątkowy
system liczbowy,
w którym
podstawowymi wielokrotnościami były 12 i 60.
◙ pozycyjne - które posiadają pojedyncze symbole tylko dla kilku
pierwszych liczb. Cyfry te są kolejno umieszczane w ściśle określonych
pozycjach i oznaczają mnożnik potęgi podstawy systemu (najwyższej
liczby reprezentowanej pojedynczą cyfrą plus jeden na cyfrę zero).
np. liczba 6003 w dziesiętnym systemie liczbowym, w którym podstawą
pozycji jest właśnie 10 odczytuje się jako:
6×103+0×102+0×101+3×100 = 6×1000+0×100+0×10+3×1 = 6003
W praktyce najczęściej stosuje się różne systemy liczbowe w Informatyce.
Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej
naturalnym systemem jest dwójkowy system liczbowy.
W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system
ósemkowy, który spotyka się niekiedy do dziś.
Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero
wraz z powstaniem języków programowania wyższego poziomu, których celem
było jak największe ułatwienie w korzystaniu z komputerów.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą
się przez 8 i 16, często używany jest szesnastkowy system liczbowy. Sprawdza
się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy
parametrów itp. Dla przykładu:
216 = 6553610 = 1000016
232 = 429496729610 = 10000000016
1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.
System szesnastkowy spotykany jest też na stronach WWW (HTML), gdzie w ten
sposób oznacza się kolory poszczególnych elementów strony.
Binarny (dwójkowy) system liczbowy to pozycyjny system liczbowy, w którym
podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc
tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których
każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu np.
liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie
dwójkowym przybiera postać 1010, gdyż:
1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10.
Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym
zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego
systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać
obok niej indeks, np.
101012 = 2110
W systemie dwójkowym można przedstawiać również liczby rzeczywiste.
Dla przykładu ułamki dziesiętne dają się zapisać jako:
0,1510 = 0,00(1001)2
0,2810 = 0,(01000111101011100001)2
Obliczanie wartości dziesiętnej liczby
zapisanej w systemie dwójkowym
111102 =
43210
4
3
2
1
0
11110 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 =
= 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30
Jedynka podobnie jak w systemie dziesiętnym ma różne
wartości w zależności od swojej pozycji:
na końcu oznacza 1,
na drugiej pozycji od końca 2,
na trzeciej 4,
na czwartej 8, itd.
Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość
liczby zapisanej dwójkowo, wystarczy zsumować potęgi
dwójki odpowiadające cyfrom 1 w zapisie.
Obliczanie wartości binarnej liczby
zapisanej w systemie dziesiętnym
Zamiana 3010 na liczbę w systemie dwójkowym:
30 ÷ 2 = 15 reszta 0
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
Aby obliczyć wartość dwójkową liczby przepisujemy od końca
reszty, które nam wyszły.
3010 = 111102
127 ÷ 2 = 63 reszta 1
63 ÷ 2 = 31 reszta 1
31 ÷ 2 = 15 reszta 1
15 ÷ 2 = 7 reszta 1
7 ÷ 2 = 3 reszta 1
3 ÷ 2 = 1 reszta 1
1 ÷ 2 = 0 reszta 1
12710 = (1111111)2
19 ÷ 2 = 9 reszta 1
9 ÷ 2 = 4 reszta 1
4 ÷ 2 = 2 reszta 0
2 ÷ 2 = 1 reszta 0
1 ÷ 2 = 0 reszta 1
1910 = (10011)2
Dodawanie w systemie dwójkowym jest prostą operacją.
Odejmowanie w systemie dwójkowym.
Mnożenie w systemie dwójkowym.
Bit to za mało, aby efektywnie kodować informację.
Łączymy bity w grupy. Grupę taką traktujemy jak jeden
symbol złożony. Poniższa tabelka przedstawia wszystkie
symbole 1, 2, 3 i 4 bitowe:
Jeśli słowo binarne złożone jest z jednego bitu, to można z
niego zbudować tylko dwa symbole 0 i 1 (różowy).
Dwa bity dają nam już cztery różne symbole (zielony):
00, 01, 10 i 11.
Dalej trzy bity pozwalają utworzyć 8 różnych symboli
(niebieski), a 4 bity 16 symboli.
Zauważ, iż zwiększenie długości słowa bitowego o jeden bit
podwaja liczbę możliwych do utworzenia symboli.
Dla dowolnej skończonej ilości informacji
zawsze można dobrać słówka binarne o takiej
ilości bitów, aby utworzyć z nich pożądaną
liczbę symboli.
W ten sposób powstaje kod binarny. Teraz
wystarczy otrzymanym symbolom binarnym
nadać znaczenia i już możemy ich używać w ten
sam sposób jak języka.
n bitów => 2n różnych symboli binarnych.
Pytanie:
Ile trzeba bitów aby uzyskać X różnych
symboli binarnych ?
Dobrze
co najmniej [log2(n - 1) + 1] bitów
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
w
a
g
o
n
10110
00000
00110
01110
01101
1011000000001100111001101
Binarny kod znakowy
Znak
Kod
Znak
Kod
Znak
Kod
Znak
Kod
a
00000
h
00111
o
01110
v
10101
b
00001
i
01000
p
01111
w
10110
c
00010
j
01001
q
10000
x
10111
d
00011
k
01010
r
10001
y
11000
e
00100
l
01011
s
10010
z
11001
f
00101
m
01100
t
10011
g
00110
n
01101
u
10100
A teraz w drugą stronę, co to będzie ?
1001101110010101100001110
10011
01110
01010
11000
01110
t
o
k
y
o
Wartość liczby stałoprzecinkowej jest określana tak jak w
pozycyjnym systemie liczbowym. Wagi bitów części całkowitej
mają wartości (kolejno, od najbardziej znaczącego bitu): 2k−1 ...20,
natomiast wagi bitów części ułamkowej mają wartości: 2−1 ...2− n.
Dokładność reprezentacji wynosi 2−n, czyli jest równa wadze
najmniej znaczącego bitu części ułamkowej.
Na przykład jeśli na część całkowitą zostaną przeznaczone 4 bity
(k=4), natomiast na część ułamkową 2 bity (n=2), wówczas:
•wartość maksymalna:
1111,112 = 23 + 22 + 21 + 20 + 2-1 + 2-2 = 15,7510
•wartość minimalna:
0000,012 = 2-2 = 0,2510
•przykładowa liczba:
1011,102 = 23 + 21 + 20 + 2-1 = 11,510
= dziesiętny zakodowany
dwójkowo – stosowany w elektronice i informatyce sposób zapisu liczb;
polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby
dwójkowo przy użyciu czterech bitów. Taki zapis pozwala na łatwą
konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy
(wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach
elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach,
miernikach cyfrowych) i w zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne
zaokrąglanie).
Czasami poszczególne cyfry są kodowane w nieco inny sposób, stąd
kilka wariantów BCD (dla uściślenia wersja podstawowa zwana jest też
BCD 8421 lub NBCD):
BCD Binary-Coded Decimal
127 w podstawowym wariancie BCD:
0001 0010 0111
www.kf.imif.ap.siedlce.pl/Pliki/PTC_w
02.ppt