Rachunki na bardzo dużych i bardzo małych liczbach Ile jest na

Transkrypt

Rachunki na bardzo dużych i bardzo małych liczbach Ile jest na
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 1
Rachunki na bardzo dużych i bardzo małych liczbach
Ile jest na Ziemi miejsca dla każdego człowieka?
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 1
Rachunki na bardzo dużych i bardzo małych liczbach
Ile jest na Ziemi miejsca dla każdego człowieka?
Powierzchnia Ziemi: 510000000 km2 km2 = 51000000000 ha
(trudno policzyć zera, lepiej podać jawnie ich liczbę)
5.1 · 108 km2 = 5.1 · 1010 ha
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 1
Rachunki na bardzo dużych i bardzo małych liczbach
Ile jest na Ziemi miejsca dla każdego człowieka?
Powierzchnia Ziemi: 510000000 km2 = 51000000000 ha
(trudno policzyć zera, lepiej podać jawnie ich liczbę)
5.1 · 108 km2 = 5.1 · 1010 ha
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 1
Rachunki na bardzo dużych i bardzo małych liczbach
Ile jest na Ziemi miejsca dla każdego człowieka?
Powierzchnia Ziemi: 510000000 km2 = 51000000000 ha
(trudno policzyć zera, lepiej podać jawnie ich liczbę)
5.1 · 108 km2 = 5.1 · 1010 ha
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 1
Rachunki na bardzo dużych i bardzo małych liczbach
Ile jest na Ziemi miejsca dla każdego człowieka?
Powierzchnia Ziemi: 510000000 km2 = 51000000000 ha
(trudno policzyć zera, lepiej podać jawnie ich liczbę)
5.1 · 108 km2 = 5.1 · 1010 ha
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 1
Rachunki na bardzo dużych i bardzo małych liczbach
Ile jest na Ziemi miejsca dla każdego człowieka?
Powierzchnia Ziemi: 510000000 km2 = 51000000000 ha
(trudno policzyć zera, lepiej podać jawnie ich liczbę)
5.1 · 108 km2 = 5.1 · 1010 ha
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 1
Rachunki na bardzo dużych i bardzo małych liczbach
Ile jest na Ziemi miejsca dla każdego człowieka?
Powierzchnia Ziemi: 510000000 km2 = 51000000000 ha
(trudno policzyć zera, lepiej podać jawnie ich liczbę)
5.1 · 108 km2 = 5.1 · 1010 ha
Liczba ludzi: ok. 7000000000
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 1
Rachunki na bardzo dużych i bardzo małych liczbach
Ile jest na Ziemi miejsca dla każdego człowieka?
Powierzchnia Ziemi: 510000000 km2 = 51000000000 ha
(trudno policzyć zera, lepiej podać jawnie ich liczbę)
5.1 · 108 km2 = 5.1 · 1010 ha
Liczba ludzi: ok. 7000000000 = 7 · 109
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 1
Rachunki na bardzo dużych i bardzo małych liczbach
Ile jest na Ziemi miejsca dla każdego człowieka?
Powierzchnia Ziemi: 510000000 km2 = 51000000000 ha
(trudno policzyć zera, lepiej podać jawnie ich liczbę)
5.1 · 108 km2 = 5.1 · 1010 ha
Liczba ludzi: ok. 7000000000 = 7 · 109
Na osobę przypada:
5.1 · 1010 ha
7 · 109
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 1
Rachunki na bardzo dużych i bardzo małych liczbach
Ile jest na Ziemi miejsca dla każdego człowieka?
Powierzchnia Ziemi: 510000000 km2 = 51000000000 ha
(trudno policzyć zera, lepiej podać jawnie ich liczbę)
5.1 · 108 km2 = 5.1 · 1010 ha
Liczba ludzi: ok. 7000000000 = 7 · 109
Na osobę przypada:
5.1 · 1010 ha
5.1
10−9
=
·
10
ha
9
7 · 10
7
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 1
Rachunki na bardzo dużych i bardzo małych liczbach
Ile jest na Ziemi miejsca dla każdego człowieka?
Powierzchnia Ziemi: 510000000 km2 = 51000000000 ha
(trudno policzyć zera, lepiej podać jawnie ich liczbę)
5.1 · 108 km2 = 5.1 · 1010 ha
Liczba ludzi: ok. 7000000000 = 7 · 109
Na osobę przypada:
5.1 · 1010 ha
5.1
10−9
=
·
10
ha ≈ 0.73 · 10 ha
9
7 · 10
7
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 1
Rachunki na bardzo dużych i bardzo małych liczbach
Ile jest na Ziemi miejsca dla każdego człowieka?
Powierzchnia Ziemi: 510000000 km2 = 51000000000 ha
(trudno policzyć zera, lepiej podać jawnie ich liczbę)
5.1 · 108 km2 = 5.1 · 1010 ha
Liczba ludzi: ok. 7000000000 = 7 · 109
Na osobę przypada:
5.1 · 1010 ha
5.1
10−9
=
·
10
ha ≈ 0.73 · 10 ha = 7.3 ha
9
7 · 10
7
(z tego tylko 2 ha na lądach i nie pod lodem)
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 2
Rachunki na bardzo dużych i bardzo małych liczbach
Jaka jest gęstość (masa właściwa) Ziemi?
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 2
Rachunki na bardzo dużych i bardzo małych liczbach
Jaka jest gęstość (masa właściwa) Ziemi?
Promień Ziemi: 6371 km
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 2
Rachunki na bardzo dużych i bardzo małych liczbach
Jaka jest gęstość (masa właściwa) Ziemi?
Promień Ziemi: 6371 km = 6.371 · 103 km
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 2
Rachunki na bardzo dużych i bardzo małych liczbach
Jaka jest gęstość (masa właściwa) Ziemi?
Promień Ziemi: 6371 km = 6.371 · 103 km
Objętość Ziemi:
4
3
· π · (6.371 · 103 km)3 =
4
3
· π · 6.3713 · (103 )3 km3
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 2
Rachunki na bardzo dużych i bardzo małych liczbach
Jaka jest gęstość (masa właściwa) Ziemi?
Promień Ziemi: 6371 km = 6.371 · 103 km
Objętość Ziemi:
4
3
· π · (6.371 · 103 km)3 =
4
3
· π · 6.3713 · (103 )3 km3
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 2
Rachunki na bardzo dużych i bardzo małych liczbach
Jaka jest gęstość (masa właściwa) Ziemi?
Promień Ziemi: 6371 km = 6.371 · 103 km
Objętość Ziemi:
4
3
· π · (6.371 · 103 km)3 =
4
3
· π · 6.3713 · (103 )3 km3
= 1083.2 · 109 km3
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 2
Rachunki na bardzo dużych i bardzo małych liczbach
Jaka jest gęstość (masa właściwa) Ziemi?
Promień Ziemi: 6371 km = 6.371 · 103 km
Objętość Ziemi:
4
3
· π · (6.371 · 103 km)3 =
4
3
· π · 6.3713 · (103 )3 km3
= 1083.2 · 109 km3 = 1.0832 · 1012 km3
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 2
Rachunki na bardzo dużych i bardzo małych liczbach
Jaka jest gęstość (masa właściwa) Ziemi?
Promień Ziemi: 6371 km = 6.371 · 103 km
Objętość Ziemi:
4
3
· π · (6.371 · 103 km)3 =
4
3
· π · 6.3713 · (103 )3 km3
= 1083.2 · 109 km3 = 1.0832 · 1012 km3
= 1.0832 · 1021 m3
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 2
Rachunki na bardzo dużych i bardzo małych liczbach
Jaka jest gęstość (masa właściwa) Ziemi?
Promień Ziemi: 6371 km = 6.371 · 103 km
Objętość Ziemi:
4
3
· π · (6.371 · 103 km)3 =
4
3
· π · 6.3713 · (103 )3 km3
= 1083.2 · 109 km3 = 1.0832 · 1012 km3
= 1.0832 · 1021 m3 = 1.0832 · 1027 cm3
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 2
Rachunki na bardzo dużych i bardzo małych liczbach
Jaka jest gęstość (masa właściwa) Ziemi?
Promień Ziemi: 6371 km = 6.371 · 103 km
Objętość Ziemi:
4
3
· π · (6.371 · 103 km)3 =
4
3
· π · 6.3713 · (103 )3 km3
= 1083.2 · 109 km3 = 1.0832 · 1012 km3
= 1.0832 · 1021 m3 = 1.0832 · 1027 cm3
Masa Ziemi: 5.9736 · 1024 kg
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 2
Rachunki na bardzo dużych i bardzo małych liczbach
Jaka jest gęstość (masa właściwa) Ziemi?
Promień Ziemi: 6371 km = 6.371 · 103 km
Objętość Ziemi:
4
3
· π · (6.371 · 103 km)3 =
4
3
· π · 6.3713 · (103 )3 km3
= 1083.2 · 109 km3 = 1.0832 · 1012 km3
= 1.0832 · 1021 m3 = 1.0832 · 1027 cm3
Masa Ziemi: 5.9736 · 1024 kg = 5.9736 · 1027 g
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 2
Rachunki na bardzo dużych i bardzo małych liczbach
Jaka jest gęstość (masa właściwa) Ziemi?
Promień Ziemi: 6371 km = 6.371 · 103 km
Objętość Ziemi:
4
3
· π · (6.371 · 103 km)3 =
4
3
· π · 6.3713 · (103 )3 km3
= 1083.2 · 109 km3 = 1.0832 · 1012 km3
= 1.0832 · 1021 m3 = 1.0832 · 1027 cm3
Masa Ziemi: 5.9736 · 1024 kg = 5.9736 · 1027 g
Gęstość:
5.9736 · 1027 g
1.0832 · 1027 cm3
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 2
Rachunki na bardzo dużych i bardzo małych liczbach
Jaka jest gęstość (masa właściwa) Ziemi?
Promień Ziemi: 6371 km = 6.371 · 103 km
Objętość Ziemi:
4
3
· π · (6.371 · 103 km)3 =
4
3
· π · 6.3713 · (103 )3 km3
= 1083.2 · 109 km3 = 1.0832 · 1012 km3
= 1.0832 · 1021 m3 = 1.0832 · 1027 cm3
Masa Ziemi: 5.9736 · 1024 kg = 5.9736 · 1027 g
Gęstość:
5.9736 · 1027 g
g
≈ 5.515 3
27
3
1.0832 · 10 cm
cm
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 3
Rachunki na bardzo dużych i bardzo małych liczbach
Ilukrotnie odległość między Ziemią a Księżycem przekracza średnicę atomu wodoru?
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 3
Rachunki na bardzo dużych i bardzo małych liczbach
Ilukrotnie odległość między Ziemią a Księżycem przekracza średnicę atomu wodoru?
Odległość między Ziemią a Księżycem: ok. 480000 km
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 3
Rachunki na bardzo dużych i bardzo małych liczbach
Ilukrotnie odległość między Ziemią a Księżycem przekracza średnicę atomu wodoru?
Odległość między Ziemią a Księżycem: ok. 480000 km = 4.8 · 108 m
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 3
Rachunki na bardzo dużych i bardzo małych liczbach
Ilukrotnie odległość między Ziemią a Księżycem przekracza średnicę atomu wodoru?
Odległość między Ziemią a Księżycem: ok. 480000 km = 4.8 · 108 m
◦
Średnica atomu wodoru: 0.6 A
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 3
Rachunki na bardzo dużych i bardzo małych liczbach
Ilukrotnie odległość między Ziemią a Księżycem przekracza średnicę atomu wodoru?
Odległość między Ziemią a Księżycem: ok. 480000 km = 4.8 · 108 m
◦
Średnica atomu wodoru: 0.6 A = 6 · 10−11 m
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 3
Rachunki na bardzo dużych i bardzo małych liczbach
Ilukrotnie odległość między Ziemią a Księżycem przekracza średnicę atomu wodoru?
Odległość między Ziemią a Księżycem: ok. 480000 km = 4.8 · 108 m
◦
Średnica atomu wodoru: 0.6 A = 6 · 10−11 m
Odpowiedź:
4.8 · 108 m
6 · 10−11 m
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 3
Rachunki na bardzo dużych i bardzo małych liczbach
Ilukrotnie odległość między Ziemią a Księżycem przekracza średnicę atomu wodoru?
Odległość między Ziemią a Księżycem: ok. 480000 km = 4.8 · 108 m
◦
Średnica atomu wodoru: 0.6 A = 6 · 10−11 m
Odpowiedź:
4.8 · 108 m
8−(−11)
=
0.8
·
10
6 · 10−11 m
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 3
Rachunki na bardzo dużych i bardzo małych liczbach
Ilukrotnie odległość między Ziemią a Księżycem przekracza średnicę atomu wodoru?
Odległość między Ziemią a Księżycem: ok. 480000 km = 4.8 · 108 m
◦
Średnica atomu wodoru: 0.6 A = 6 · 10−11 m
Odpowiedź:
4.8 · 108 m
8−(−11)
19
=
0.8
·
10
=
0.8
·
10
6 · 10−11 m
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 3
Rachunki na bardzo dużych i bardzo małych liczbach
Ilukrotnie odległość między Ziemią a Księżycem przekracza średnicę atomu wodoru?
Odległość między Ziemią a Księżycem: ok. 480000 km = 4.8 · 108 m
◦
Średnica atomu wodoru: 0.6 A = 6 · 10−11 m
Odpowiedź:
4.8 · 108 m
8−(−11)
19
18
=
0.8
·
10
=
0.8
·
10
=
8
·
10
6 · 10−11 m
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 3
Rachunki na bardzo dużych i bardzo małych liczbach
Ilukrotnie odległość między Ziemią a Księżycem przekracza średnicę atomu wodoru?
Odległość między Ziemią a Księżycem: ok. 480000 km = 4.8 · 108 m
◦
Średnica atomu wodoru: 0.6 A = 6 · 10−11 m
Odpowiedź:
4.8 · 108 m
8−(−11)
19
18
=
0.8
·
10
=
0.8
·
10
=
8
·
10
6 · 10−11 m
Skala Wszechświata:
http://htwins.net/scale2
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 4
Zmiennopozycyjny zapis liczby
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 4
Zmiennopozycyjny zapis liczby
• W rachunkach na bardzo dużych liczbach mamy kłopot z liczbami
zer. Pomyłka w liczbie zer grozi błędem znacznie większym niż zwykła
pomyłka arytmetyczna.
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 4
Zmiennopozycyjny zapis liczby
• W rachunkach na bardzo dużych liczbach mamy kłopot z liczbami
zer. Pomyłka w liczbie zer grozi błędem znacznie większym niż zwykła
pomyłka arytmetyczna.
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 4
Zmiennopozycyjny zapis liczby
• W rachunkach na bardzo dużych liczbach mamy kłopot z liczbami
zer. Pomyłka w liczbie zer grozi błędem znacznie większym niż zwykła
pomyłka arytmetyczna.
• Zamiast pisać te zera, praktyczniej jest podawać jawnie, ile ich jest.
Czyni się to zwykle zapisem zmiennopozycyjnym (floating point), czyli
przez reprezentację liczb rzeczywistych w postaci
znak·mantysa·10cecha
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 4
Zmiennopozycyjny zapis liczby
• W rachunkach na bardzo dużych liczbach mamy kłopot z liczbami
zer. Pomyłka w liczbie zer grozi błędem znacznie większym niż zwykła
pomyłka arytmetyczna.
• Zamiast pisać te zera, praktyczniej jest podawać jawnie, ile ich jest.
Czyni się to zwykle zapisem zmiennopozycyjnym (floating point), czyli
przez reprezentację liczb rzeczywistych w postaci
znak·mantysa·10cecha
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 4
Zmiennopozycyjny zapis liczby
• W rachunkach na bardzo dużych liczbach mamy kłopot z liczbami
zer. Pomyłka w liczbie zer grozi błędem znacznie większym niż zwykła
pomyłka arytmetyczna.
• Zamiast pisać te zera, praktyczniej jest podawać jawnie, ile ich jest.
Czyni się to zwykle zapisem zmiennopozycyjnym (floating point), czyli
przez reprezentację liczb rzeczywistych w postaci
znak·mantysa·10cecha
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 4
Zmiennopozycyjny zapis liczby
• W rachunkach na bardzo dużych liczbach mamy kłopot z liczbami
zer. Pomyłka w liczbie zer grozi błędem znacznie większym niż zwykła
pomyłka arytmetyczna.
• Zamiast pisać te zera, praktyczniej jest podawać jawnie, ile ich jest.
Czyni się to zwykle zapisem zmiennopozycyjnym (floating point), czyli
przez reprezentację liczb rzeczywistych w postaci
znak·mantysa·10cecha
znak ∈ {−1, 1} , 1 ¬ mantysa < 10 , cecha ∈ Z (liczba całkowita) .
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 4
Zmiennopozycyjny zapis liczby
• W rachunkach na bardzo dużych liczbach mamy kłopot z liczbami
zer. Pomyłka w liczbie zer grozi błędem znacznie większym niż zwykła
pomyłka arytmetyczna.
• Zamiast pisać te zera, praktyczniej jest podawać jawnie, ile ich jest.
Czyni się to zwykle zapisem zmiennopozycyjnym (floating point), czyli
przez reprezentację liczb rzeczywistych w postaci
znak·mantysa·10cecha
znak ∈ {−1, 1} , 1 ¬ mantysa < 10 , cecha ∈ Z (liczba całkowita) .
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 4
Zmiennopozycyjny zapis liczby
• W rachunkach na bardzo dużych liczbach mamy kłopot z liczbami
zer. Pomyłka w liczbie zer grozi błędem znacznie większym niż zwykła
pomyłka arytmetyczna.
• Zamiast pisać te zera, praktyczniej jest podawać jawnie, ile ich jest.
Czyni się to zwykle zapisem zmiennopozycyjnym (floating point), czyli
przez reprezentację liczb rzeczywistych w postaci
znak·mantysa·10cecha
znak ∈ {−1, 1} , 1 ¬ mantysa < 10 , cecha ∈ Z (liczba całkowita) .
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 4
Zmiennopozycyjny zapis liczby
• W rachunkach na bardzo dużych liczbach mamy kłopot z liczbami
zer. Pomyłka w liczbie zer grozi błędem znacznie większym niż zwykła
pomyłka arytmetyczna.
• Zamiast pisać te zera, praktyczniej jest podawać jawnie, ile ich jest.
Czyni się to zwykle zapisem zmiennopozycyjnym (floating point), czyli
przez reprezentację liczb rzeczywistych w postaci
znak·mantysa·10cecha
znak ∈ {−1, 1} , 1 ¬ mantysa < 10 , cecha ∈ Z (liczba całkowita) .
• W programach i danych dla komputera liczby rzeczywiste przedstawia
się tak samo; tylko zamiast „razy dziesięć do potęgi”, pisze się literę E
(exponent).
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 4
Zmiennopozycyjny zapis liczby
• W rachunkach na bardzo dużych liczbach mamy kłopot z liczbami
zer. Pomyłka w liczbie zer grozi błędem znacznie większym niż zwykła
pomyłka arytmetyczna.
• Zamiast pisać te zera, praktyczniej jest podawać jawnie, ile ich jest.
Czyni się to zwykle zapisem zmiennopozycyjnym (floating point), czyli
przez reprezentację liczb rzeczywistych w postaci
znak·mantysa·10cecha
znak ∈ {−1, 1} , 1 ¬ mantysa < 10 , cecha ∈ Z (liczba całkowita) .
• W programach i danych dla komputera liczby rzeczywiste przedstawia
się tak samo; tylko zamiast „razy dziesięć do potęgi”, pisze się literę E
(exponent).
Np. zamiast 5.041 · 109 pisze się 5.041E9 .
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 5
Zmiennopozycyjny zapis liczby
Liczby bardzo duże lub bardzo małe zapisuje się w postaci
znak·mantysa·10cecha
znak ∈ {−1, 1} , 1 ¬ mantysa < 10 , cecha ∈ Z (liczba całkowita) .
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 5
Zmiennopozycyjny zapis liczby
Liczby bardzo duże lub bardzo małe zapisuje się w postaci
znak·mantysa·10cecha
znak ∈ {−1, 1} , 1 ¬ mantysa < 10 , cecha ∈ Z (liczba całkowita) .
Wewnętrzna komputerowa reprezentacja różni się tym,
że podstawą nie jest 10 tylko 2.
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 5
Zmiennopozycyjny zapis liczby
Liczby bardzo duże lub bardzo małe zapisuje się w postaci
znak·mantysa·10cecha
znak ∈ {−1, 1} , 1 ¬ mantysa < 10 , cecha ∈ Z (liczba całkowita) .
Wewnętrzna komputerowa reprezentacja różni się tym,
że podstawą nie jest 10 tylko 2.
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 5
Zmiennopozycyjny zapis liczby
Liczby bardzo duże lub bardzo małe zapisuje się w postaci
znak·mantysa·2cecha
znak ∈ {−1, 1} , 1 ¬ mantysa < 2 , cecha ∈ Z (liczba całkowita) .
Wewnętrzna komputerowa reprezentacja różni się tym,
że podstawą nie jest 10 tylko 2.
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 6
Zmiennopozycyjny zapis liczby
1. Przedstawić liczbę rzeczywistą x w postaci x = z · m · 2c
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 6
Zmiennopozycyjny zapis liczby
1. Przedstawić liczbę rzeczywistą x w postaci x = z · m · 2c , gdzie
• znak z jest albo −1 albo 1,
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 6
Zmiennopozycyjny zapis liczby
1. Przedstawić liczbę rzeczywistą x w postaci x = z · m · 2c , gdzie
• znak z jest albo −1 albo 1,
• mantysa m jest liczbą rzeczywistą taką że:
m = 0 lub 1 ¬ m < 2
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 6
Zmiennopozycyjny zapis liczby
1. Przedstawić liczbę rzeczywistą x w postaci x = z · m · 2c gdzie
• znak z jest albo −1 albo 1,
• mantysa m jest liczbą rzeczywistą taką że:
•|
(
]
m = 0 lub 1 ¬ m < 2,
−2
−1
0
[
1
)
2
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 6
Zmiennopozycyjny zapis liczby
1. Przedstawić liczbę rzeczywistą x w postaci x = z · m · 2c , gdzie
• znak z jest albo −1 albo 1,
• mantysa m jest liczbą rzeczywistą taką że:
(
]
•|
m = 0 lub 1 ¬ m < 2,
−2
−1
0
• cecha c jest liczbą całkowitą.
[
1
)
2
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 6
Zmiennopozycyjny zapis liczby
1. Przedstawić liczbę rzeczywistą x w postaci x = z · m · 2c , gdzie
• znak z jest albo −1 albo 1,
• mantysa m jest liczbą rzeczywistą taką że:
•|
(
]
m = 0 lub 1 ¬ m < 2,
−2
−1
0
• cecha c jest liczbą całkowitą.
O jednoznaczności takiego przedstawienia — patrz dalej.
[
1
)
2
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 6
Zmiennopozycyjny zapis liczby
1. Przedstawić liczbę rzeczywistą x w postaci x = z · m · 2c , gdzie
• znak z jest albo −1 albo 1,
• mantysa m jest liczbą rzeczywistą taką że:
•|
(
]
m = 0 lub 1 ¬ m < 2,
−2
−1
0
• cecha c jest liczbą całkowitą.
O jednoznaczności takiego przedstawienia — patrz dalej.
2. Cechę zapisujemy binarnie w zwykły sposób (to jest liczba całkowita).
[
1
)
2
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 6
Zmiennopozycyjny zapis liczby
1. Przedstawić liczbę rzeczywistą x w postaci x = z · m · 2c , gdzie
• znak z jest albo −1 albo 1,
• mantysa m jest liczbą rzeczywistą taką że:
•|
(
]
m = 0 lub 1 ¬ m < 2,
−2
−1
0
• cecha c jest liczbą całkowitą.
[
1
)
2
O jednoznaczności takiego przedstawienia — patrz dalej.
2. Cechę zapisujemy binarnie w zwykły sposób (to jest liczba całkowita).
3. Mantysę zapisujemy podobnie, za podstawę biorąc jednak
m0 m1 m2 . . . reprezentuje liczbę
1
2
zamiast 2: ciąg
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 6
Zmiennopozycyjny zapis liczby
1. Przedstawić liczbę rzeczywistą x w postaci x = z · m · 2c , gdzie
• znak z jest albo −1 albo 1,
• mantysa m jest liczbą rzeczywistą taką że:
•|
(
]
m = 0 lub 1 ¬ m < 2,
−2
−1
0
• cecha c jest liczbą całkowitą.
[
1
)
2
O jednoznaczności takiego przedstawienia — patrz dalej.
2. Cechę zapisujemy binarnie w zwykły sposób (to jest liczba całkowita).
3. Mantysę zapisujemy podobnie, za podstawę biorąc jednak
m0 m1 m2 . . . reprezentuje liczbę
+∞
X
mi
i=0
2i
m0
m1
m2
= 0 + 1 + 2 + ...
2
2
2
(m0 = 1 zawsze).
1
2
zamiast 2: ciąg
każde mi to albo 0 albo 1
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 6
Zmiennopozycyjny zapis liczby
1. Przedstawić liczbę rzeczywistą x w postaci x = z · m · 2c , gdzie
• znak z jest albo −1 albo 1,
• mantysa m jest liczbą rzeczywistą taką że:
(
]
•|
m = 0 lub 1 ¬ m < 2,
−2
−1
0
• cecha c jest liczbą całkowitą.
[
1
)
2
O jednoznaczności takiego przedstawienia — patrz dalej.
2. Cechę zapisujemy binarnie w zwykły sposób (to jest liczba całkowita).
3. Mantysę zapisujemy podobnie, za podstawę biorąc jednak
m0 m1 m2 . . . reprezentuje liczbę
+∞
X
mi
i=0
2i
m0
m1
m2
= 0 + 1 + 2 + ...
2
2
2
1
2
zamiast 2: ciąg
każde mi to albo 0 albo 1
(m0 = 1 zawsze).
4. Ucinamy nieskończony ciąg m0 m1 m2 . . . zależnie od liczby bitów przeznaczonych
na mantysę liczby.
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 7
Zmiennopozycyjny zapis liczby
Mantysa: ciąg m0 m1 m2 . . . mn−1 reprezentuje liczbę
def
M =
n−1
X
i=0
m0 m1 m2
mn−1
mi
= 0 + 1 + 2 + . . . + n−1
i
2
2
2
2
2
każde mi to albo 0 albo 1; m0 = 1 zawsze.
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 7
Zmiennopozycyjny zapis liczby
Mantysa: ciąg m0 m1 m2 . . . mn−1 reprezentuje liczbę
def
M =
n−1
X
i=0
m0 m1 m2
mn−1
mi
= 0 + 1 + 2 + . . . + n−1
i
2
2
2
2
2
każde mi to albo 0 albo 1; m0 = 1 zawsze.
TWIERDZENIE: Tak zdefiniowane M spełnia 1 ¬ M < 2 .
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 7
Zmiennopozycyjny zapis liczby
Mantysa: ciąg m0 m1 m2 . . . mn−1 reprezentuje liczbę
def
M =
n−1
X
i=0
mi
m0 m1 m2
mn−1
= 0 + 1 + 2 + . . . + n−1
i
2
2
2
2
2
każde mi to albo 0 albo 1; m0 = 1 zawsze.
TWIERDZENIE: Tak zdefiniowane M spełnia 1 ¬ M < 2 .
Dowód:
mn−1
0
0
0
m0 m1 m2
1
M = 0 + 1 + 2 +. . .+ n−1 ­ 0 + 1 + 2 +. . .+ n−1 = 1
2
2
2
2
2
2
2
2
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 7
Zmiennopozycyjny zapis liczby
Mantysa: ciąg m0 m1 m2 . . . mn−1 reprezentuje liczbę
def
M =
n−1
X
i=0
mi
m0 m1 m2
mn−1
= 0 + 1 + 2 + . . . + n−1
i
2
2
2
2
2
każde mi to albo 0 albo 1; m0 = 1 zawsze.
TWIERDZENIE: Tak zdefiniowane M spełnia 1 ¬ M < 2 .
Dowód:
mn−1
1
0
0
0
m0 m1 m2
M = 0 + 1 + 2 +. . .+ n−1 ­ 0 + 1 + 2 +. . .+ n−1 = 1
2
2
2
2
2
2
2
2
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 7
Zmiennopozycyjny zapis liczby
Mantysa: ciąg m0 m1 m2 . . . mn−1 reprezentuje liczbę
def
M =
n−1
X
i=0
mi
m0 m1 m2
mn−1
= 0 + 1 + 2 + . . . + n−1
i
2
2
2
2
2
każde mi to albo 0 albo 1; m0 = 1 zawsze.
TWIERDZENIE: Tak zdefiniowane M spełnia 1 ¬ M < 2 .
Dowód:
mn−1
1
0
0
0
m0 m1 m2
M = 0 + 1 + 2 +. . .+ n−1 ­ 0 + 1 + 2 +. . .+ n−1 = 1
2
2
2
2
2
2
2
2
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 7
Zmiennopozycyjny zapis liczby
Mantysa: ciąg m0 m1 m2 . . . mn−1 reprezentuje liczbę
def
M =
n−1
X
i=0
m0 m1 m2
mn−1
mi
= 0 + 1 + 2 + . . . + n−1
i
2
2
2
2
2
każde mi to albo 0 albo 1; m0 = 1 zawsze.
TWIERDZENIE: Tak zdefiniowane M spełnia 1 ¬ M < 2 .
Dowód:
mn−1
1
0
0
0
m0 m1 m2
M = 0 + 1 + 2 +. . .+ n−1 ­ 0 + 1 + 2 +. . .+ n−1 = 1
2
2
2
2
2
2
2
2
M =
n−1
X
i=0
n−1
X 1
1 − ( 12 )n
mi
1
=
<
¬
1
i
i
2
1− 2
1−
i=0 2
1
2
= 2
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 7
Zmiennopozycyjny zapis liczby
Mantysa: ciąg m0 m1 m2 . . . mn−1 reprezentuje liczbę
def
M =
n−1
X
i=0
m0 m1 m2
mn−1
mi
= 0 + 1 + 2 + . . . + n−1
i
2
2
2
2
2
każde mi to albo 0 albo 1; m0 = 1 zawsze.
TWIERDZENIE: Tak zdefiniowane M spełnia 1 ¬ M < 2 .
Dowód:
mn−1
1
0
0
0
m0 m1 m2
M = 0 + 1 + 2 +. . .+ n−1 ­ 0 + 1 + 2 +. . .+ n−1 = 1
2
2
2
2
2
2
2
2
M =
n−1
X
i=0
n−1
X 1
1 − ( 12 )n
mi
1
¬
<
=
1
i
i
2
1− 2
1−
i=0 2
1
2
= 2
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 7
Zmiennopozycyjny zapis liczby
Mantysa: ciąg m0 m1 m2 . . . mn−1 reprezentuje liczbę
def
M =
n−1
X
i=0
m0 m1 m2
mn−1
mi
= 0 + 1 + 2 + . . . + n−1
i
2
2
2
2
2
każde mi to albo 0 albo 1; m0 = 1 zawsze.
TWIERDZENIE: Tak zdefiniowane M spełnia 1 ¬ M < 2 .
Dowód:
mn−1
1
0
0
0
m0 m1 m2
M = 0 + 1 + 2 +. . .+ n−1 ­ 0 + 1 + 2 +. . .+ n−1 = 1
2
2
2
2
2
2
2
2
M =
n−1
X
i=0
n−1
X 1
1 − ( 12 )n
mi
1
¬
=
<
1
i
i
2
1− 2
1−
i=0 2
1
2
= 2
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 7
Zmiennopozycyjny zapis liczby
Mantysa: ciąg m0 m1 m2 . . . mn−1 reprezentuje liczbę
def
M =
n−1
X
i=0
m0 m1 m2
mn−1
mi
= 0 + 1 + 2 + . . . + n−1
i
2
2
2
2
2
każde mi to albo 0 albo 1; m0 = 1 zawsze.
TWIERDZENIE: Tak zdefiniowane M spełnia 1 ¬ M < 2 .
Dowód:
mn−1
1
0
0
0
m0 m1 m2
M = 0 + 1 + 2 +. . .+ n−1 ­ 0 + 1 + 2 +. . .+ n−1 = 1
2
2
2
2
2
2
2
2
M =
n−1
X
i=0
n−1
X 1
1 − ( 12 )n
mi
1
¬
=
<
1
i
i
2
1− 2
1−
i=0 2
1
2
= 2
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 7
Zmiennopozycyjny zapis liczby
Mantysa: ciąg m0 m1 m2 . . . mn−1 reprezentuje liczbę
def
M =
n−1
X
i=0
m0 m1 m2
mn−1
mi
= 0 + 1 + 2 + . . . + n−1
i
2
2
2
2
2
każde mi to albo 0 albo 1; m0 = 1 zawsze.
TWIERDZENIE: Tak zdefiniowane M spełnia 1 ¬ M < 2 .
Dowód:
mn−1
1
0
0
0
m0 m1 m2
M = 0 + 1 + 2 +. . .+ n−1 ­ 0 + 1 + 2 +. . .+ n−1 = 1
2
2
2
2
2
2
2
2
M =
n−1
X
i=0
n−1
X 1
1 − ( 12 )n
mi
1
¬
=
<
1
i
i
2
1− 2
1−
i=0 2
1
2
= 2
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 8
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
Jak przedstawić liczbę
1
7
?
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 8
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
Jak przedstawić liczbę
1
7
?
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 8
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
Jak przedstawić liczbę
1
7
?
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 8
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
Jak przedstawić liczbę
1
7
?
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 8
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
1
1 0
= ·2 =
7
7
0
≈ 1+ +
2
Jak przedstawić liczbę
2 −1
4 −2
8 −3
·2 = ·2
= ·2
7
7
7
0 1
0
0
1
· 2−3
+ +
+
+
4 8 16 32 64
1
7
?
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 8
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
1
1 0
= ·2 =
7
7
0
≈ 1+ +
2
Jak przedstawić liczbę
4 −2
2 −1
8 −3
·2 = ·2
= ·2
7
7
7
0 1
0
0
1
· 2−3
+ +
+
+
4 8 16 32 64
1
7
?
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 8
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
1
1 0
= ·2 =
7
7
0
≈ 1+ +
2
Jak przedstawić liczbę
8 −3
2 −1
4 −2
= ·2
·2 = ·2
7
7
7
0 1
0
0
1
· 2−3
+ +
+
+
4 8 16 32 64
1
7
?
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 8
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
1
1 0
= ·2 =
7
7
0
≈ 1+ +
2
Jak przedstawić liczbę
2 −1
4 −2
8 −3
·2 = ·2
= ·2
7
7
7
0 1
0
0
1
· 2−3
+ +
+
+
4 8 16 32 64
1
7
?
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 8
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
1
1 0
= ·2 =
7
7
0
≈ 1+ +
2
Jak przedstawić liczbę
2 −1
4 −2
8 −3
·2 = ·2
= ·2
7
7
7
0 1
0
0
1
· 2−3
+ +
+
+
4 8 16 32 64
1
7
?
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 8
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
1
1 0
= ·2 =
7
7
0
≈ 1+ +
2
Jak przedstawić liczbę
2 −1
4 −2
8 −3
·2 = ·2
= ·2
7
7
7
0 1
0
0
1
· 2−3
+ +
+
+
4 8 16 32 64
znak
cecha
mantysa
0
11111101 1.001001
+
−3
8/7
1
7
?
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 8
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
1
1 0
= ·2 =
7
7
0
≈ 1+ +
2
Jak przedstawić liczbę
2 −1
4 −2
8 −3
·2 = ·2
= ·2
7
7
7
0 1
0
0
1
· 2−3
+ +
+
+
4 8 16 32 64
znak
cecha
mantysa
0
11111101 1.001001
+
−3
8/7
1
7
?
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 8
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
1
1 0
= ·2 =
7
7
0
≈ 1+ +
2
Jak przedstawić liczbę
2 −1
4 −2
8 −3
·2 = ·2
= ·2
7
7
7
0 1
0
0
1
· 2−3
+ +
+
+
4 8 16 32 64
znak
cecha
mantysa
0
11111101 1.001001
+
−3
8/7
1
7
?
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 8
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
1
1 0
= ·2 =
7
7
0
≈ 1+ +
2
Jak przedstawić liczbę
2 −1
4 −2
8 −3
·2 = ·2
= ·2
7
7
7
0 1
0
0
1
· 2−3
+ +
+
+
4 8 16 32 64
znak
cecha
mantysa
0
11111101 1.001001
+
−3
8/7
1
7
?
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 8
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
1
1 0
= ·2 =
7
7
0
≈ 1+ +
2
Jak przedstawić liczbę
1
7
?
2 −1
4 −2
8 −3
·2 = ·2
= ·2
7
7
7
0 1
0
0
1
· 2−3
+ +
+
+
4 8 16 32 64
znak
cecha
mantysa
0
11111101 1.001001
+
−3
8/7
Uwaga: taka jest zasada, prawdziwy zapis w komputerze jest trochę inny.
Patrz dalej.
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 9
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
Liczba −20 31 :
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 9
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
Liczba −20 13 :
61
61 4
61 0
=
·2 =
·2
3
3
48
≈
0
0
1
0 1 0
· 24
+
+
1+ + + +
2 4 8 16 32 64
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 9
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
Liczba −20 13 :
61
61 0
61 4
=
·2 =
·2
3
3
48
≈
0
0
1
0 1 0
· 24
+
+
1+ + + +
2 4 8 16 32 64
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 9
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
Liczba −20 13 :
61
61 0
61 4
=
·2 =
·2
3
3
48
≈
0
0
1
0 1 0
· 24
+
+
1+ + + +
2 4 8 16 32 64
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 9
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
Liczba −20 13 :
61 0
61 4
61
=
·2 =
·2
3
3
48
≈
0 1 0
0
0
1
· 24
1+ + + +
+
+
2 4 8 16 32 64
znak
cecha
mantysa
1
00000100 1.010001
−
4
61/48
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 9
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
Liczba −20 31 :
61
61 0
61 4
=
·2 =
·2
3
3
48
≈
0 1 0
0
0
1
· 24
1+ + + +
+
+
2 4 8 16 32 64
znak
cecha
mantysa
1
00000100 1.010001
−
4
61/48
Uwaga: taka jest zasada, prawdziwy zapis w komputerze jest trochę inny.
Patrz dalej.
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 10
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
Jaką liczbę przedstawia
poniższy układ bitów?
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 10
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
Jaką liczbę przedstawia
poniższy układ bitów?
znak
cecha
mantysa
1
01001000 1.101001
−
72
105/64
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 10
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
Jaką liczbę przedstawia
poniższy układ bitów?
znak
cecha
mantysa
1
01001000 1.101001
−
72
105/64
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 10
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
Jaką liczbę przedstawia
poniższy układ bitów?
znak
cecha
mantysa
1
01001000 1.101001
−
72
105/64
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 10
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
Jaką liczbę przedstawia
poniższy układ bitów?
znak
cecha
mantysa
1
01001000 1.101001
−
72
105/64
0
0
1
1 0 1
+
+
· 272
− 1+ + + +
2 4 8 16 32 64
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 10
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
Jaką liczbę przedstawia
poniższy układ bitów?
znak
cecha
mantysa
1
01001000 1.101001
−
72
105/64
1 0 1
0
0
1
− 1+ + + +
· 272
+
+
2 4 8 16 32 64
64 + 32 + 8 + 1 72
105 72
= −
·2 = −
· 2 = −105 · 266
64
64
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 10
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
Jaką liczbę przedstawia
poniższy układ bitów?
znak
cecha
mantysa
1
01001000 1.101001
−
72
105/64
1 0 1
0
0
1
− 1+ + + +
· 272
+
+
2 4 8 16 32 64
64 + 32 + 8 + 1 72
105 72
= −
·2 = −
· 2 = −105 · 266
64
64
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 10
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
Jaką liczbę przedstawia
poniższy układ bitów?
znak
cecha
mantysa
1
01001000 1.101001
−
72
105/64
1 0 1
0
0
1
− 1+ + + +
· 272
+
+
2 4 8 16 32 64
64 + 32 + 8 + 1 72
105 72
= −
·2 = −
· 2 = −105 · 266
64
64
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 10
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
Jaką liczbę przedstawia
poniższy układ bitów?
znak
cecha
mantysa
1
01001000 1.101001
−
72
105/64
1 0 1
0
0
1
· 272
− 1+ + + +
+
+
2 4 8 16 32 64
64 + 32 + 8 + 1 72
105 72
= −
·2 = −
· 2 = −105 · 266
64
64
≈ −7.74763251096 · 1021
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 10
Zmiennopozycyjny zapis liczby
Przykład:
M
Załóżmy, że poświęcamy:
• na cechę: 8 bitów;
• na mantysę: 7 bitów;
• na znak liczby: 1 bit.
Jaką liczbę przedstawia
poniższy układ bitów?
znak
cecha
mantysa
1
01001000 1.101001
−
72
105/64
1 0 1
0
0
1
· 272
− 1+ + + +
+
+
2 4 8 16 32 64
64 + 32 + 8 + 1 72
105 72
= −
·2 = −
· 2 = −105 · 266
64
64
≈ −7.74763251096 · 1021
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 11
Zmiennopozycyjny zapis liczby
s
c
x = (−1) · m · 2
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 11
Zmiennopozycyjny zapis liczby
s
c
x = (−1) · m · 2
Własności:
• Jeśli cecha c ma k bitów, to −2k−1 ¬ c < 2k−1
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 11
Zmiennopozycyjny zapis liczby
s
c
x = (−1) · m · 2
Własności:
• Jeśli cecha c ma k bitów, to −2k−1 ¬ c < 2k−1 , więc
−2k−1
2
c
2k−1
¬2 <2
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 11
Zmiennopozycyjny zapis liczby
s
c
x = (−1) · m · 2
Własności:
• Jeśli cecha c ma k bitów, to −2k−1 ¬ c < 2k−1 , więc
−2k−1
2
2k−1
c
¬2 <2
(np. dla k = 8:
1
2128
¬ 2c < 2128 ≈ 3.4028237 · 1038 ).
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 11
Zmiennopozycyjny zapis liczby
s
c
x = (−1) · m · 2
Własności:
• Jeśli cecha c ma k bitów, to −2k−1 ¬ c < 2k−1 , więc
−2k−1
2
c
2k−1
¬2 <2
1
(np. dla k = 8: 2128
¬ 2c < 2128 ≈ 3.4028237 · 1038 ).
Im więcej bitów ma cecha, tym większy zakres przedstawianych liczb.
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 11
Zmiennopozycyjny zapis liczby
s
c
x = (−1) · m · 2
Własności:
• Jeśli cecha c ma k bitów, to −2k−1 ¬ c < 2k−1 , więc
−2k−1
2
c
2k−1
¬2 <2
1
(np. dla k = 8: 2128
¬ 2c < 2128 ≈ 3.4028237 · 1038 ).
Im więcej bitów ma cecha, tym większy zakres przedstawianych liczb.
• Jeśli mantysa m ma n bitów, to liczby można przedstawić z dokład1
nością do n−1 · 2c
2
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 11
Zmiennopozycyjny zapis liczby
s
c
x = (−1) · m · 2
Własności:
• Jeśli cecha c ma k bitów, to −2k−1 ¬ c < 2k−1 , więc
−2k−1
2
c
2k−1
¬2 <2
1
(np. dla k = 8: 2128
¬ 2c < 2128 ≈ 3.4028237 · 1038 ).
Im więcej bitów ma cecha, tym większy zakres przedstawianych liczb.
• Jeśli mantysa m ma n bitów, to liczby można przedstawić z dokład1
nością do n−1 · 2c
2
(np. dla n = 7 dokładność do ok. 1.5625 · 10−2 · 2c ).
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 11
Zmiennopozycyjny zapis liczby
s
c
x = (−1) · m · 2
Własności:
• Jeśli cecha c ma k bitów, to −2k−1 ¬ c < 2k−1 , więc
−2k−1
2
c
2k−1
¬2 <2
1
(np. dla k = 8: 2128
¬ 2c < 2128 ≈ 3.4028237 · 1038 ).
Im więcej bitów ma cecha, tym większy zakres przedstawianych liczb.
• Jeśli mantysa m ma n bitów, to liczby można przedstawić z dokład1
nością do n−1 · 2c
2
(np. dla n = 7 dokładność do ok. 1.5625 · 10−2 · 2c ).
Im więcej bitów ma mantysa, tym większa dokładność (mniejsze
„ziarno”) przedstawianych liczb. Dokładność jest większa dla liczb bliskich zeru.
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 11
Zmiennopozycyjny zapis liczby
s
c
x = (−1) · m · 2
Własności:
• Jeśli cecha c ma k bitów, to −2k−1 ¬ c < 2k−1 , więc
−2k−1
2
c
2k−1
¬2 <2
1
(np. dla k = 8: 2128
¬ 2c < 2128 ≈ 3.4028237 · 1038 ).
Im więcej bitów ma cecha, tym większy zakres przedstawianych liczb.
• Jeśli mantysa m ma n bitów, to liczby można przedstawić z dokład1
nością do n−1 · 2c
2
(np. dla n = 7 dokładność do ok. 1.5625 · 10−2 · 2c ).
Im więcej bitów ma mantysa, tym większa dokładność (mniejsze
„ziarno”) przedstawianych liczb. Dokładność jest większa dla liczb bliskich zeru.
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 12
Zmiennopozycyjny zapis liczby
Im więcej bitów ma cecha, tym większy zakres przedstawianych liczb.
Im więcej bitów ma mantysa, tym większa dokładność (mniejsze „ziarno”)
przedstawianych liczb.
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 12
Zmiennopozycyjny zapis liczby
Im więcej bitów ma cecha, tym większy zakres przedstawianych liczb.
Im więcej bitów ma mantysa, tym większa dokładność (mniejsze „ziarno”)
przedstawianych liczb.
Jeśli przeznaczymy
• 2 bity na cechę (wartości cechy: −2, −1, 0, 1) i
• 3 bity na mantysę
(wartości mantysy: 0, 44 , 54 , 64 , 74 ),
to potrafimy przedstawić następujące liczby nieujemne
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 12
Zmiennopozycyjny zapis liczby
Im więcej bitów ma cecha, tym większy zakres przedstawianych liczb.
Im więcej bitów ma mantysa, tym większa dokładność (mniejsze „ziarno”)
przedstawianych liczb.
Jeśli przeznaczymy
• 2 bity na cechę (wartości cechy: −2, −1, 0, 1) i
• 3 bity na mantysę
(wartości mantysy: 0, 44 , 54 , 64 , 74 ),
to potrafimy przedstawić następujące liczby nieujemne:
0
×4
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 12
Zmiennopozycyjny zapis liczby
Im więcej bitów ma cecha, tym większy zakres przedstawianych liczb.
Im więcej bitów ma mantysa, tym większa dokładność (mniejsze „ziarno”)
przedstawianych liczb.
Jeśli przeznaczymy
• 2 bity na cechę (wartości cechy: −2, −1, 0, 1) i
• 3 bity na mantysę
(wartości mantysy: 0, 44 , 54 , 64 , 74 ),
to potrafimy przedstawić następujące liczby nieujemne:
0
z
c=0
}|
{
×4
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 12
Zmiennopozycyjny zapis liczby
Im więcej bitów ma cecha, tym większy zakres przedstawianych liczb.
Im więcej bitów ma mantysa, tym większa dokładność (mniejsze „ziarno”)
przedstawianych liczb.
Jeśli przeznaczymy
• 2 bity na cechę (wartości cechy: −2, −1, 0, 1) i
• 3 bity na mantysę
(wartości mantysy: 0, 44 , 54 , 64 , 74 ),
to potrafimy przedstawić następujące liczby nieujemne:
0
c=0
}|
z
1
4
4
5
4
6
4
{
7
4
×4
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 12
Zmiennopozycyjny zapis liczby
Im więcej bitów ma cecha, tym większy zakres przedstawianych liczb.
Im więcej bitów ma mantysa, tym większa dokładność (mniejsze „ziarno”)
przedstawianych liczb.
Jeśli przeznaczymy
• 2 bity na cechę (wartości cechy: −2, −1, 0, 1) i
• 3 bity na mantysę
(wartości mantysy: 0, 44 , 54 , 64 , 74 ),
to potrafimy przedstawić następujące liczby nieujemne:
0
c=0
}|
z
1
4
4
5
4
6
4
{ z
7
4
c=1
}|
{
×4
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 12
Zmiennopozycyjny zapis liczby
Im więcej bitów ma cecha, tym większy zakres przedstawianych liczb.
Im więcej bitów ma mantysa, tym większa dokładność (mniejsze „ziarno”)
przedstawianych liczb.
Jeśli przeznaczymy
• 2 bity na cechę (wartości cechy: −2, −1, 0, 1) i
• 3 bity na mantysę
(wartości mantysy: 0, 44 , 54 , 64 , 74 ),
to potrafimy przedstawić następujące liczby nieujemne:
0
c=0
}|
z
1
4
4
5
4
6
4
c=1
}|
{ z
2
7
4
4
2
5
2
6
2
{
7
2
×4
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 12
Zmiennopozycyjny zapis liczby
Im więcej bitów ma cecha, tym większy zakres przedstawianych liczb.
Im więcej bitów ma mantysa, tym większa dokładność (mniejsze „ziarno”)
przedstawianych liczb.
Jeśli przeznaczymy
• 2 bity na cechę (wartości cechy: −2, −1, 0, 1) i
• 3 bity na mantysę
(wartości mantysy: 0, 44 , 54 , 64 , 74 ),
to potrafimy przedstawić następujące liczby nieujemne:
c=0
}|
c = −1
0
z
}|
{ z
1
4
4
5
4
6
4
c=1
}|
{ z
2
7
4
4
2
5
2
6
2
{
7
2
×4
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 12
Zmiennopozycyjny zapis liczby
Im więcej bitów ma cecha, tym większy zakres przedstawianych liczb.
Im więcej bitów ma mantysa, tym większa dokładność (mniejsze „ziarno”)
przedstawianych liczb.
Jeśli przeznaczymy
• 2 bity na cechę (wartości cechy: −2, −1, 0, 1) i
• 3 bity na mantysę
(wartości mantysy: 0, 44 , 54 , 64 , 74 ),
to potrafimy przedstawić następujące liczby nieujemne:
c=0
}|
c = −1
0
z
1
2
4
8
}|
5
8
6
8
{ z
1
7
8
4
4
5
4
6
4
c=1
}|
{ z
2
7
4
4
2
5
2
6
2
{
7
2
×4
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 12
Zmiennopozycyjny zapis liczby
Im więcej bitów ma cecha, tym większy zakres przedstawianych liczb.
Im więcej bitów ma mantysa, tym większa dokładność (mniejsze „ziarno”)
przedstawianych liczb.
Jeśli przeznaczymy
• 2 bity na cechę (wartości cechy: −2, −1, 0, 1) i
• 3 bity na mantysę
(wartości mantysy: 0, 44 , 54 , 64 , 74 ),
to potrafimy przedstawić następujące liczby nieujemne:
0
c=0
}|
c = −1
c = −2
z}|{ z
1
2
4
8
}|
5
8
6
8
{ z
1
7
8
4
4
5
4
6
4
c=1
}|
{ z
2
7
4
4
2
5
2
6
2
{
7
2
×4
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 12
Zmiennopozycyjny zapis liczby
Im więcej bitów ma cecha, tym większy zakres przedstawianych liczb.
Im więcej bitów ma mantysa, tym większa dokładność (mniejsze „ziarno”)
przedstawianych liczb.
Jeśli przeznaczymy
• 2 bity na cechę (wartości cechy: −2, −1, 0, 1) i
• 3 bity na mantysę
(wartości mantysy: 0, 44 , 54 , 64 , 74 ),
to potrafimy przedstawić następujące liczby nieujemne:
0
c=0
}|
c = −1
c = −2
z}|{ z
1
2
}|
{ z
1
c=1
}|
{ z
2
{
7
16
6
5 16
4 16
16
4
8
5
8
6
8
7
8
4
4
5
4
6
4
7
4
4
2
5
2
6
2
7
2
×4
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 12
Zmiennopozycyjny zapis liczby
Im więcej bitów ma cecha, tym większy zakres przedstawianych liczb.
Im więcej bitów ma mantysa, tym większa dokładność (mniejsze „ziarno”)
przedstawianych liczb.
Jeśli przeznaczymy
• 2 bity na cechę (wartości cechy: −2, −1, 0, 1) i
• 3 bity na mantysę
(wartości mantysy: 0, 44 , 54 , 64 , 74 ),
to potrafimy przedstawić następujące liczby nieujemne:
0
c=0
}|
c = −1
c = −2
z}|{ z
1
2
}|
{ z
1
c=1
}|
{ z
2
{
7
16
6
5 16
4 16
16
4
8
5
8
6
8
7
8
4
4
5
4
6
4
7
4
4
2
. . . + tyle samo po ujemnej stronie zera.
5
2
6
2
7
2
×4
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 13
Zmiennopozycyjny zapis liczby
TWIERDZENIE: (jednoznaczność zapisu zmiennopozycyjnego)
M
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 13
Zmiennopozycyjny zapis liczby
TWIERDZENIE: (jednoznaczność zapisu zmiennopozycyjnego)
M
Załóżmy, że: 1. c1 , c2 ∈ Z (l. całkowite), m1 , m2 ∈ R (l. rzeczywiste),
2. 1 ¬ m1 < 2 i 1 ¬ m2 < 2,
3. m1 · 2c1 = m2 · 2c2 .
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 13
Zmiennopozycyjny zapis liczby
TWIERDZENIE: (jednoznaczność zapisu zmiennopozycyjnego)
M
Załóżmy, że: 1. c1 , c2 ∈ Z (l. całkowite), m1 , m2 ∈ R (l. rzeczywiste),
2. 1 ¬ m1 < 2 i 1 ¬ m2 < 2,
3. m1 · 2c1 = m2 · 2c2 .
Wtedy m1 = m2 i c1 = c2 .
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 13
Zmiennopozycyjny zapis liczby
TWIERDZENIE: (jednoznaczność zapisu zmiennopozycyjnego)
M
Załóżmy, że: 1. c1 , c2 ∈ Z (l. całkowite), m1 , m2 ∈ R (l. rzeczywiste),
2. 1 ¬ m1 < 2 i 1 ¬ m2 < 2,
3. m1 · 2c1 = m2 · 2c2 .
Wtedy m1 = m2 i c1 = c2 .
Dowód twierdzenia o jednoznaczności:
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 13
Zmiennopozycyjny zapis liczby
TWIERDZENIE: (jednoznaczność zapisu zmiennopozycyjnego)
M
Załóżmy, że: 1. c1 , c2 ∈ Z (l. całkowite), m1 , m2 ∈ R (l. rzeczywiste),
2. 1 ¬ m1 < 2 i 1 ¬ m2 < 2,
3. m1 · 2c1 = m2 · 2c2 .
Wtedy m1 = m2 i c1 = c2 .
Dowód twierdzenia o jednoznaczności:
Z pktu 3 wynika
m1 · 2c1
1 =
m2 · 2c2
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 13
Zmiennopozycyjny zapis liczby
TWIERDZENIE: (jednoznaczność zapisu zmiennopozycyjnego)
M
Załóżmy, że: 1. c1 , c2 ∈ Z (l. całkowite), m1 , m2 ∈ R (l. rzeczywiste),
2. 1 ¬ m1 < 2 i 1 ¬ m2 < 2,
3. m1 · 2c1 = m2 · 2c2 .
Wtedy m1 = m2 i c1 = c2 .
Dowód twierdzenia o jednoznaczności:
Z pktu 3 wynika
m1 · 2c1
m 1 c1 − c 2
1 =
=
·2
c
m2 · 2 2
m2
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 13
Zmiennopozycyjny zapis liczby
TWIERDZENIE: (jednoznaczność zapisu zmiennopozycyjnego)
M
Załóżmy, że: 1. c1 , c2 ∈ Z (l. całkowite), m1 , m2 ∈ R (l. rzeczywiste),
2. 1 ¬ m1 < 2 i 1 ¬ m2 < 2,
3. m1 · 2c1 = m2 · 2c2 .
Wtedy m1 = m2 i c1 = c2 .
Dowód twierdzenia o jednoznaczności:
Z pktu 3 wynika
m1 · 2c1
m 1 c1 − c2
1 =
=
·2
c
m2 · 2 2
m2
Jeśli c1 = c2 , to 2c1 −c2 = 1 i m1 = m2 , koniec dowodu.
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 13
Zmiennopozycyjny zapis liczby
TWIERDZENIE: (jednoznaczność zapisu zmiennopozycyjnego)
M
Załóżmy, że: 1. c1 , c2 ∈ Z (l. całkowite), m1 , m2 ∈ R (l. rzeczywiste),
2. 1 ¬ m1 < 2 i 1 ¬ m2 < 2,
3. m1 · 2c1 = m2 · 2c2 .
Wtedy m1 = m2 i c1 = c2 .
Dowód twierdzenia o jednoznaczności:
Z pktu 3 wynika
m1 · 2c1
m 1 c1 − c2
1 =
=
·2
c
m2 · 2 2
m2
Jeśli c1 = c2 , to 2c1 −c2 = 1 i m1 = m2 , koniec dowodu.
Jeśli c1 < c2 , to c1 ¬ c2 − 1
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 13
Zmiennopozycyjny zapis liczby
TWIERDZENIE: (jednoznaczność zapisu zmiennopozycyjnego)
M
Załóżmy, że: 1. c1 , c2 ∈ Z (l. całkowite), m1 , m2 ∈ R (l. rzeczywiste),
2. 1 ¬ m1 < 2 i 1 ¬ m2 < 2,
3. m1 · 2c1 = m2 · 2c2 .
Wtedy m1 = m2 i c1 = c2 .
Dowód twierdzenia o jednoznaczności:
Z pktu 3 wynika
m1 · 2c1
m 1 c1 − c 2
1 =
=
·2
c
m2 · 2 2
m2
Jeśli c1 = c2 , to 2c1 −c2 = 1 i m1 = m2 , koniec dowodu.
Jeśli c1 < c2 , to c1 ¬ c2 − 1, to 2c1 −c2 ¬
1
2
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 13
Zmiennopozycyjny zapis liczby
TWIERDZENIE: (jednoznaczność zapisu zmiennopozycyjnego)
M
Załóżmy, że: 1. c1 , c2 ∈ Z (l. całkowite), m1 , m2 ∈ R (l. rzeczywiste),
2. 1 ¬ m1 < 2 i 1 ¬ m2 < 2,
3. m1 · 2c1 = m2 · 2c2 .
Wtedy m1 = m2 i c1 = c2 .
Dowód twierdzenia o jednoznaczności:
Z pktu 3 wynika
m 1 c1 − c2
m1 · 2c1
·2
=
1 =
c
m2 · 2 2
m2
Jeśli c1 = c2 , to 2c1 −c2 = 1 i m1 = m2 , koniec dowodu.
Jeśli c1 < c2 , to c1 ¬ c2 − 1, to 2c1 −c2 ¬ 21 , to 1 ¬
m1
m2
·
1
2
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 13
Zmiennopozycyjny zapis liczby
TWIERDZENIE: (jednoznaczność zapisu zmiennopozycyjnego)
M
Załóżmy, że: 1. c1 , c2 ∈ Z (l. całkowite), m1 , m2 ∈ R (l. rzeczywiste),
2. 1 ¬ m1 < 2 i 1 ¬ m2 < 2,
3. m1 · 2c1 = m2 · 2c2 .
Wtedy m1 = m2 i c1 = c2 .
Dowód twierdzenia o jednoznaczności:
Z pktu 3 wynika
m 1 c1 − c2
m1 · 2c1
·2
=
1 =
c
m2 · 2 2
m2
Jeśli c1 = c2 , to 2c1 −c2 = 1 i m1 = m2 , koniec dowodu.
Jeśli c1 < c2 , to c1 ¬ c2 − 1, to 2c1 −c2 ¬ 21 , to 1 ¬
m1
m2
· 12 , to
m1
m2
­ 2.
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 13
Zmiennopozycyjny zapis liczby
TWIERDZENIE: (jednoznaczność zapisu zmiennopozycyjnego)
M
Załóżmy, że: 1. c1 , c2 ∈ Z (l. całkowite), m1 , m2 ∈ R (l. rzeczywiste),
2. 1 ¬ m1 < 2 i 1 ¬ m2 < 2,
3. m1 · 2c1 = m2 · 2c2 .
Wtedy m1 = m2 i c1 = c2 .
Dowód twierdzenia o jednoznaczności:
Z pktu 3 wynika
m 1 c1 − c 2
m1 · 2c1
·2
=
1 =
c
m2 · 2 2
m2
Jeśli c1 = c2 , to 2c1 −c2 = 1 i m1 = m2 , koniec dowodu.
Jeśli c1 < c2 , to c1 ¬ c2 − 1, to 2c1 −c2 ¬ 21 , to 1 ¬
Ale to niemożliwe, bo m1 < 2 i m2 ­ 1.
m1
m2
· 12 , to
m1
m2
­ 2.
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 14
Arytmetyka zmiennopozycyjna — działania
Binarne mnożenie zmiennopozycyjne
(m1 · 2c1 ) · (m2 · 2c2 ) = (m1 · m2 ) · 2c1 +c2
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 14
Arytmetyka zmiennopozycyjna — działania
Binarne mnożenie zmiennopozycyjne
(m1 · 2c1 ) · (m2 · 2c2 ) = (m1 · m2 ) · 2c1 +c2
Przykład:
M
0.2125 · 972.8 = (1.7 · 2−3 ) · (1.9 · 29 )
= (1.7 · 1.9) · 26
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 14
Arytmetyka zmiennopozycyjna — działania
Binarne mnożenie zmiennopozycyjne
(m1 · 2c1 ) · (m2 · 2c2 ) = (m1 · m2 ) · 2c1 +c2
Przykład:
M
0.2125 · 972.8 = (1.7 · 2−3 ) · (1.9 · 29 )
= (1.7 · 1.9) · 26
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 14
Arytmetyka zmiennopozycyjna — działania
Binarne mnożenie zmiennopozycyjne
(m1 · 2c1 ) · (m2 · 2c2 ) = (m1 · m2 ) · 2c1 +c2
Przykład:
M
0.2125 · 972.8 = (1.7 · 2−3 ) · (1.9 · 29 )
= (1.7 · 1.9) · 26
= 3.23 · 26
(normalizacja wyniku)
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 14
Arytmetyka zmiennopozycyjna — działania
Binarne mnożenie zmiennopozycyjne
(m1 · 2c1 ) · (m2 · 2c2 ) = (m1 · m2 ) · 2c1 +c2
Przykład:
M
0.2125 · 972.8 = (1.7 · 2−3 ) · (1.9 · 29 )
= (1.7 · 1.9) · 26
= 3.23 · 26
= 1.615 · 27
(normalizacja wyniku)
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 14
Arytmetyka zmiennopozycyjna — działania
Binarne mnożenie zmiennopozycyjne
(m1 · 2c1 ) · (m2 · 2c2 ) = (m1 · m2 ) · 2c1 +c2
Przykład:
M
0.2125 · 972.8 = (1.7 · 2−3 ) · (1.9 · 29 )
= (1.7 · 1.9) · 26
= 3.23 · 26
= 1.615 · 27
= 206.72
(normalizacja wyniku)
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 15
Arytmetyka zmiennopozycyjna — działania
Binarne dodawanie zmiennopozycyjne
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 15
Arytmetyka zmiennopozycyjna — działania
Binarne dodawanie zmiennopozycyjne
(m1 · 2c1 ) + (m2 · 2c2 ) = (m1 · 2c1 ) + ((m2 · 2c2 −c1 ) · 2c1 )
= (m1 + m2 · 2c2 −c1 ) · 2c1
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 15
Arytmetyka zmiennopozycyjna — działania
Binarne dodawanie zmiennopozycyjne
(m1 · 2c1 ) + (m2 · 2c2 ) = (m1 · 2c1 ) + ((m2 · 2c2 −c1 ) · 2c1 )
= (m1 + m2 · 2c2 −c1 ) · 2c1
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 15
Arytmetyka zmiennopozycyjna — działania
Binarne dodawanie zmiennopozycyjne
(m1 · 2c1 ) + (m2 · 2c2 ) = (m1 · 2c1 ) + ((m2 · 2c2 −c1 ) · 2c1 )
= (m1 + m2 · 2c2 −c1 ) · 2c1
Dodawanie wymaga „przeskalowania” jednego składnika; to jest skomplikowane i prowadzi do utraty precyzji.
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 15
Arytmetyka zmiennopozycyjna — działania
Binarne dodawanie zmiennopozycyjne
(m1 · 2c1 ) + (m2 · 2c2 ) = (m1 · 2c1 ) + ((m2 · 2c2 −c1 ) · 2c1 )
= (m1 + m2 · 2c2 −c1 ) · 2c1
Dodawanie wymaga „przeskalowania” jednego składnika; to jest skomplikowane i prowadzi do utraty precyzji.
Przykład:
M 972.8 + 0.2125 = 1.9 · 29 + 1.7 · 2−3
= 1.9 · 29 + (1.7 · 2−12 ) · 29
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 15
Arytmetyka zmiennopozycyjna — działania
Binarne dodawanie zmiennopozycyjne
(m1 · 2c1 ) + (m2 · 2c2 ) = (m1 · 2c1 ) + ((m2 · 2c2 −c1 ) · 2c1 )
= (m1 + m2 · 2c2 −c1 ) · 2c1
Dodawanie wymaga „przeskalowania” jednego składnika; to jest skomplikowane i prowadzi do utraty precyzji.
Przykład:
M 972.8 + 0.2125 = 1.9 · 29 + 1.7 · 2−3
= 1.9 · 29 + (1.7 · 2−12 ) · 29
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 15
Arytmetyka zmiennopozycyjna — działania
Binarne dodawanie zmiennopozycyjne
(m1 · 2c1 ) + (m2 · 2c2 ) = (m1 · 2c1 ) + ((m2 · 2c2 −c1 ) · 2c1 )
= (m1 + m2 · 2c2 −c1 ) · 2c1
Dodawanie wymaga „przeskalowania” jednego składnika; to jest skomplikowane i prowadzi do utraty precyzji.
Przykład:
M 972.8 + 0.2125 = 1.9 · 29 + 1.7 · 2−3
= 1.9 · 29 + (1.7 · 2−12 ) · 29
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 15
Arytmetyka zmiennopozycyjna — działania
Binarne dodawanie zmiennopozycyjne
(m1 · 2c1 ) + (m2 · 2c2 ) = (m1 · 2c1 ) + ((m2 · 2c2 −c1 ) · 2c1 )
= (m1 + m2 · 2c2 −c1 ) · 2c1
Dodawanie wymaga „przeskalowania” jednego składnika; to jest skomplikowane i prowadzi do utraty precyzji.
Przykład:
M 972.8 + 0.2125 = 1.9 · 29 + 1.7 · 2−3
= 1.9 · 29 + (1.7 · 2−12 ) · 29
= 1.9 · 29 + 0.0004150390625 · 29
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 15
Arytmetyka zmiennopozycyjna — działania
Binarne dodawanie zmiennopozycyjne
(m1 · 2c1 ) + (m2 · 2c2 ) = (m1 · 2c1 ) + ((m2 · 2c2 −c1 ) · 2c1 )
= (m1 + m2 · 2c2 −c1 ) · 2c1
Dodawanie wymaga „przeskalowania” jednego składnika; to jest skomplikowane i prowadzi do utraty precyzji.
Przykład:
M 972.8 + 0.2125 = 1.9 · 29 + 1.7 · 2−3
= 1.9 · 29 + (1.7 · 2−12 ) · 29
= 1.9 · 29 + 0.0004150390625 · 29
= (1.9 + 0.0004150390625) · 29
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 15
Arytmetyka zmiennopozycyjna — działania
Binarne dodawanie zmiennopozycyjne
(m1 · 2c1 ) + (m2 · 2c2 ) = (m1 · 2c1 ) + ((m2 · 2c2 −c1 ) · 2c1 )
= (m1 + m2 · 2c2 −c1 ) · 2c1
Dodawanie wymaga „przeskalowania” jednego składnika; to jest skomplikowane i prowadzi do utraty precyzji.
Przykład:
M 972.8 + 0.2125 = 1.9 · 29 + 1.7 · 2−3
= 1.9 · 29 + (1.7 · 2−12 ) · 29
= 1.9 · 29 + 0.0004150390625 · 29
= (1.9 + 0.0004150390625) · 29
= 1.9004150390625 · 29
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 16
Arytmetyka zmiennopozycyjna — działania
Utrata precyzji przy dodawaniu
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 16
Arytmetyka zmiennopozycyjna — działania
Utrata precyzji przy dodawaniu
Przykład:
M
Załóżmy, że poświęcamy na cechę: 8 bitów; na mantysę: 8 bitów.
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 16
Arytmetyka zmiennopozycyjna — działania
Utrata precyzji przy dodawaniu
Przykład:
M
Załóżmy, że poświęcamy na cechę: 8 bitów; na mantysę: 8 bitów.
(1.5 · 2100 ) + (1.5 · 2−100 ) = (1.5 · 2100 ) + ((1.5 · 2−200 ) · 2100 )
= (1.5 + 1.5 · 2−200 ) · 2100
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 16
Arytmetyka zmiennopozycyjna — działania
Utrata precyzji przy dodawaniu
Przykład:
M
Załóżmy, że poświęcamy na cechę: 8 bitów; na mantysę: 8 bitów.
(1.5 · 2100 ) + (1.5 · 2−100 ) = (1.5 · 2100 ) + ((1.5 · 2−200 ) · 2100 )
= (1.5 + 1.5 · 2−200 ) · 2100
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 16
Arytmetyka zmiennopozycyjna — działania
Utrata precyzji przy dodawaniu
Przykład:
M
Załóżmy, że poświęcamy na cechę: 8 bitów; na mantysę: 8 bitów.
(1.5 · 2100 ) + (1.5 · 2−100 ) = (1.5 · 2100 ) + ((1.5 · 2−200 ) · 2100 )
= (1.5 + 1.5 · 2−200 ) · 2100
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 16
Arytmetyka zmiennopozycyjna — działania
Utrata precyzji przy dodawaniu
Przykład:
M
Załóżmy, że poświęcamy na cechę: 8 bitów; na mantysę: 8 bitów.
(1.5 · 2100 ) + (1.5 · 2−100 ) = (1.5 · 2100 ) + ((1.5 · 2−200 ) · 2100 )
= (1.5 + 1.5 · 2−200 ) · 2100
Ale 1.5 · 2−200 w mantysie to dwa bity przesunięte w prawo o 200 pozycji;
a mantysa ma ich tylko 8; więc po tym przesunięciu wychodzi 0.
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 16
Arytmetyka zmiennopozycyjna — działania
Utrata precyzji przy dodawaniu
Przykład:
M
Załóżmy, że poświęcamy na cechę: 8 bitów; na mantysę: 8 bitów.
(1.5 · 2100 ) + (1.5 · 2−100 ) = (1.5 · 2100 ) + ((1.5 · 2−200 ) · 2100 )
= (1.5 + 1.5 · 2−200 ) · 2100
Ale 1.5 · 2−200 w mantysie to dwa bity przesunięte w prawo o 200 pozycji;
a mantysa ma ich tylko 8; więc po tym przesunięciu wychodzi 0. Tak więc
(1.5 · 2100 ) + (1.5 · 2−100 ) = 1.5 · 2100
chociaż 1.5 · 2−100 6= 0.
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 17
Prawdziwy zapis liczb typu double w C
http://inf.ug.edu.pl/~stefan/Dydaktyka/WstepDoProg/
Wyklady/08.obraz_bitowy_liczb.c
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 17
Prawdziwy zapis liczb typu double w C
http://inf.ug.edu.pl/~stefan/Dydaktyka/WstepDoProg/
Wyklady/08.obraz_bitowy_liczb.c
• znak: 1 bit
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 17
Prawdziwy zapis liczb typu double w C
http://inf.ug.edu.pl/~stefan/Dydaktyka/WstepDoProg/
Wyklady/08.obraz_bitowy_liczb.c
• znak: 1 bit
+: 0 −: 1
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 17
Prawdziwy zapis liczb typu double w C
http://inf.ug.edu.pl/~stefan/Dydaktyka/WstepDoProg/
Wyklady/08.obraz_bitowy_liczb.c
• znak: 1 bit
+: 0 −: 1
• cecha: 11 bitów
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 17
Prawdziwy zapis liczb typu double w C
http://inf.ug.edu.pl/~stefan/Dydaktyka/WstepDoProg/
Wyklady/08.obraz_bitowy_liczb.c
• znak: 1 bit
+: 0 −: 1
• cecha: 11 bitów
zamiast prawdziwej cechy zapisuje się zwiększoną o 210 − 1 = 1023
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 17
Prawdziwy zapis liczb typu double w C
http://inf.ug.edu.pl/~stefan/Dydaktyka/WstepDoProg/
Wyklady/08.obraz_bitowy_liczb.c
• znak: 1 bit
+: 0 −: 1
• cecha: 11 bitów
zamiast prawdziwej cechy zapisuje się zwiększoną o 210 − 1 = 1023
• mantysa: 52 bity
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 17
Prawdziwy zapis liczb typu double w C
http://inf.ug.edu.pl/~stefan/Dydaktyka/WstepDoProg/
Wyklady/08.obraz_bitowy_liczb.c
• znak: 1 bit
+: 0 −: 1
• cecha: 11 bitów
zamiast prawdziwej cechy zapisuje się zwiększoną o 210 − 1 = 1023
• mantysa: 52 bity
nie zapisuje się bitu m0 = 1
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 17
Prawdziwy zapis liczb typu double w C
http://inf.ug.edu.pl/~stefan/Dydaktyka/WstepDoProg/
Wyklady/08.obraz_bitowy_liczb.c
• znak: 1 bit
+: 0 −: 1
• cecha: 11 bitów
zamiast prawdziwej cechy zapisuje się zwiększoną o 210 − 1 = 1023
• mantysa: 52 bity
nie zapisuje się bitu m0 = 1
Przykład: 1 = + 1 · 20
M
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 17
Prawdziwy zapis liczb typu double w C
http://inf.ug.edu.pl/~stefan/Dydaktyka/WstepDoProg/
Wyklady/08.obraz_bitowy_liczb.c
• znak: 1 bit
+: 0 −: 1
• cecha: 11 bitów
zamiast prawdziwej cechy zapisuje się zwiększoną o 210 − 1 = 1023
• mantysa: 52 bity
nie zapisuje się bitu m0 = 1
Przykład: 1 = + 1 · 20
M
+ cecha: 0 + 1023
mantysa: 1 − 1
00111111 11110000 00000000 00000000 00000000 . . .
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 17
Prawdziwy zapis liczb typu double w C
http://inf.ug.edu.pl/~stefan/Dydaktyka/WstepDoProg/
Wyklady/08.obraz_bitowy_liczb.c
• znak: 1 bit
+: 0 −: 1
• cecha: 11 bitów
zamiast prawdziwej cechy zapisuje się zwiększoną o 210 − 1 = 1023
• mantysa: 52 bity
nie zapisuje się bitu m0 = 1
Przykład: 1 = + 1 · 20
M
+ cecha: 0 + 1023
mantysa: 1 − 1
00111111 11110000 00000000 00000000 00000000 . . .
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 18
Prawdziwy zapis liczb typu double w C
http://inf.ug.edu.pl/~stefan/Dydaktyka/WstepDoProg/
Wyklady/08.obraz_bitowy_liczb.c
• znak: 1 bit
+: 0 −: 1
• cecha: 11 bitów
zamiast prawdziwej cechy zapisuje się zwiększoną o 210 − 1 = 1023
• mantysa: 52 bity
nie zapisuje się bitu m0 = 1
Przykład: −7 = − 74 · 22
M
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 18
Prawdziwy zapis liczb typu double w C
http://inf.ug.edu.pl/~stefan/Dydaktyka/WstepDoProg/
Wyklady/08.obraz_bitowy_liczb.c
• znak: 1 bit
+: 0 −: 1
• cecha: 11 bitów
zamiast prawdziwej cechy zapisuje się zwiększoną o 210 − 1 = 1023
• mantysa: 52 bity
nie zapisuje się bitu m0 = 1
Przykład: −7 = − 74 · 22
M
− cecha: 2 + 1023
mantysa: 74 − 1
11000000 00011100 00000000 00000000 00000000 . . .
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 18
Prawdziwy zapis liczb typu double w C
http://inf.ug.edu.pl/~stefan/Dydaktyka/WstepDoProg/
Wyklady/08.obraz_bitowy_liczb.c
• znak: 1 bit
+: 0 −: 1
• cecha: 11 bitów
zamiast prawdziwej cechy zapisuje się zwiększoną o 210 − 1 = 1023
• mantysa: 52 bity
nie zapisuje się bitu m0 = 1
Przykład: −7 = − 74 · 22
M
− cecha: 2 + 1023
mantysa: 74 − 1
11000000 00011100 00000000 00000000 00000000 . . .
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 19
Prawdziwy zapis liczb typu double w C
http://inf.ug.edu.pl/~stefan/Dydaktyka/WstepDoProg/
Wyklady/08.obraz_bitowy_liczb.c
• znak: 1 bit
+: 0 −: 1
• cecha: 11 bitów
zamiast prawdziwej cechy zapisuje się zwiększoną o 210 − 1 = 1023
• mantysa: 52 bity
nie zapisuje się bitu m0 = 1
Przykład: 0.4375 = + 47 · 2−2
M
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 19
Prawdziwy zapis liczb typu double w C
http://inf.ug.edu.pl/~stefan/Dydaktyka/WstepDoProg/
Wyklady/08.obraz_bitowy_liczb.c
• znak: 1 bit
+: 0 −: 1
• cecha: 11 bitów
zamiast prawdziwej cechy zapisuje się zwiększoną o 210 − 1 = 1023
• mantysa: 52 bity
nie zapisuje się bitu m0 = 1
Przykład: 0.4375 = + 47 · 2−2
M
+cecha: −2 + 1023
mantysa: 47 − 1
00111111 11011100 00000000 00000000 00000000 . . .
Wykład 9. ARYTMETYKA KOMPUTEROWA, str. 19
Prawdziwy zapis liczb typu double w C
http://inf.ug.edu.pl/~stefan/Dydaktyka/WstepDoProg/
Wyklady/08.obraz_bitowy_liczb.c
• znak: 1 bit
+: 0 −: 1
• cecha: 11 bitów
zamiast prawdziwej cechy zapisuje się zwiększoną o 210 − 1 = 1023
• mantysa: 52 bity
nie zapisuje się bitu m0 = 1
Przykład: 0.4375 = + 47 · 2−2
M
+ cecha: −2 + 1023
mantysa: 74 − 1
00111111 11011100 00000000 00000000 00000000 . . .