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 . . .