Top Banner
Technologie Informacyjne Wyklad 4 Arytmetyka komputerów Wojciech Myszka Jakub Slowiński Katedra Mechaniki i Inżynierii Materialowej Wydzial Mechaniczny Politechnika Wroclawska 30 października 2014
70

Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Feb 27, 2019

Download

Documents

vuongliem
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Technologie InformacyjneWykład 4

Arytmetyka komputerów

Wojciech Myszka Jakub Słowiński

Katedra Mechaniki i Inżynierii MateriałowejWydział Mechaniczny

Politechnika Wrocławska

30 października 2014

Page 2: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Część I

Liczby binarne i arytmetyka komputerów

(IMMT PWr) TI-W01 30 października 2014 2 / 1

Page 3: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Podstawowe fakty

Arytmetyka komputerów

Zapis liczb — dwójkowy.Każda z liczb zapisywana jest za pomocą cyfr 0 i 1.Układ jest pozycyjny — waga cyfry zależy od miejsca, w którymzostała ustawiona.Najmniej znaczące miejsca są po stronie prawej. . .1010 to 1× 2

3 + 0× 22 + 1× 2

1 + 0× 20 czyli 8 + 0 + 2 + 0 = 10

NB liczby parzyste mają zero na końcu, nieparzyste — 1.Arytmetyka dwójkowa — bardzo prosta.

0 + 0 = 0

1 + 0 = 0 + 1 = 1

1 + 1 = 10

1× 1 = 1

1× 0 = 0× 1 = 0

0× 0 = 0

(IMMT PWr) TI-W01 30 października 2014 3 / 1

Page 4: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Operacje logiczne

Operacje logiczne

(Podstawowe) operacje logiczne to suma logiczna (OR), iloczyn logiczny(AND), negacja (NOT), różnica symetryczna (XOR)

OR 0 10 0 11 1 1

AND 0 10 0 01 0 1

XOR 0 10 0 11 1 0

(IMMT PWr) TI-W01 30 października 2014 4 / 1

Page 5: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Arytmetyka komputera (c.d.)

Arytmetyka komputeraArytmetyka „klasyczna”

Jesteśmy przyzwyczajeni do następujących „rzeczy”:

1

Jeżeli x 6= 0 to ∀a a + x 6= a

2

a + b + · · ·+ z = z + y + · · ·+ b + a

3

∀a, b ∈ < a < b ∃c : a < c < b

W arytmetyce komputerowej powyższe zasady nie obowiązują!

(IMMT PWr) TI-W01 30 października 2014 5 / 1

Page 6: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Arytmetyka komputera (c.d.)

Arytmetyka komputeraArytmetyka „klasyczna”

Jesteśmy przyzwyczajeni do następujących „rzeczy”:

1

Jeżeli x 6= 0 to ∀a a + x 6= a

2

a + b + · · ·+ z = z + y + · · ·+ b + a

3

∀a, b ∈ < a < b ∃c : a < c < b

W arytmetyce komputerowej powyższe zasady nie obowiązują!

(IMMT PWr) TI-W01 30 października 2014 5 / 1

Page 7: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Arytmetyka komputera (c.d.)

Arytmetyka komputeraArytmetyka „klasyczna”

Jesteśmy przyzwyczajeni do następujących „rzeczy”:

1

Jeżeli x 6= 0 to ∀a a + x 6= a

2

a + b + · · ·+ z = z + y + · · ·+ b + a

3

∀a, b ∈ < a < b ∃c : a < c < b

W arytmetyce komputerowej powyższe zasady nie obowiązują!

(IMMT PWr) TI-W01 30 października 2014 5 / 1

Page 8: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Arytmetyka komputera (c.d.)

Arytmetyka komputeraArytmetyka „klasyczna”

Jesteśmy przyzwyczajeni do następujących „rzeczy”:

1

Jeżeli x 6= 0 to ∀a a + x 6= a

2

a + b + · · ·+ z = z + y + · · ·+ b + a

3

∀a, b ∈ < a < b ∃c : a < c < b

W arytmetyce komputerowej powyższe zasady nie obowiązują!

(IMMT PWr) TI-W01 30 października 2014 5 / 1

Page 9: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Liczby „zmiennoprzecinkowe”

Liczby „zmiennoprzecinkowe”

1 Arytmetyka1 Liczby naturalne2 Liczby całkowite3 Liczby wymierne4 Liczby rzeczywiste

2 Komptery1 Liczby całkowite („integer”)2 Liczby „stałoprzecinkowe”3 Liczby „zmiennoprzecinkowe”

(IMMT PWr) TI-W01 30 października 2014 6 / 1

Page 10: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Liczby „zmiennoprzecinkowe”

Liczby całkowite I

Sytuacja dosyć klarowna.Na n bitach możemy zapisać liczby całkowite dodatnie z zakresu odzera do 2

n − 1

Jest pewien problem z liczbami ujemnymi: trzeba zarezerwowaćmiejsce na znakTrzeba to tak zrobić, żeby podstawowe operacje (dodawanie,odejmowanie i mnożenie,. . . ) były wykonywane tak samo gdyargumenty są dodatnie jak i wtedy gdy są ujemne.Układ „uzupełnieniowy” to załatwił.Czasami korzysta się z kodu BCD (Binary Coded Decimal — (cyfry)dziesiętne kodowane binarnie: liczba zapisywana jest w układziedziesiętnym (za pomocą cyfr dziesiętnych), ale poszczególne cyfrykodowane są binarnie321(10) zapisywane jest jako 0011 0010 00012

(IMMT PWr) TI-W01 30 października 2014 7 / 1

Page 11: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Liczby „zmiennoprzecinkowe”

Liczby ujemne

1 Trzeba zarezerwować jeden bit na zapamiętanie znaku!2 Wariant najprostszy 3 — 00000113 Wariant najprostszy −3 — 1000011

Jest to zapis „znak–moduł”4 Ale jak dodawać takie liczby?

(IMMT PWr) TI-W01 30 października 2014 8 / 1

Page 12: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Liczby „zmiennoprzecinkowe”

Liczby ujemne

Tablica odejmowania:− 0 10 0 11 1 0

(Zakładamy, że operujemy na liczbach czterobitowych!)

0011− 1 = 0010

0010− 1 = 0001

0001− 1 = 0000

0000− 1 = 1111

Zatem −1 to 1111 (czterobitowo!)

(IMMT PWr) TI-W01 30 października 2014 9 / 1

Page 13: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Liczby „zmiennoprzecinkowe”

Liczby ujemne

Dokonajmy prostego sprawdzenia:

5 + (−1)

0 1 0 1

1 1 1 1

1 0 1 0 0

(IMMT PWr) TI-W01 30 października 2014 10 / 1

Page 14: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Liczby „zmiennoprzecinkowe”

Liczby ujemne

Dokonajmy prostego sprawdzenia:

5 + (−1)

0 1 0 1

1 1 1 1

1 0 1 0 0

(IMMT PWr) TI-W01 30 października 2014 10 / 1

Page 15: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Liczby „zmiennoprzecinkowe”

Dygresja

Liczby dziesiętne, dwucyfrowe:

3 3

9 9

1 3 2

(IMMT PWr) TI-W01 30 października 2014 11 / 1

Page 16: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Liczby „zmiennoprzecinkowe”

Dygresja

Liczby dziesiętne, dwucyfrowe:

3 3

9 9

1 3 2

(IMMT PWr) TI-W01 30 października 2014 11 / 1

Page 17: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Liczby „zmiennoprzecinkowe”

Negacja liczby

Mnemotechniczny algorytm negacji jest bardzo prosty: „negujemy”wszytskie bity i powstałą liczbę zwiększamy o 1:1 to 0001negacje: 1110zwiększenie o 1: 11112 to 0010negacja: 1101zwiększenie o 1: 1110sprawdzenie 5 + (−2)

0 1 0 11 1 1 0

1 0 0 1 1

(IMMT PWr) TI-W01 30 października 2014 12 / 1

Page 18: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Liczby „zmiennoprzecinkowe”

Liczby „stałoprzecinkowe”

1 Liczby w których na zapamiętanie części całkowitej przeznacza siękilka(naście/dziesiąt) bitów

2 Na zapamiętanie części ułamkowej również używa się kilku(nastu?)bitów:1 0 1 0 , 1 0 1 0

co odczytujemy jako:1 ∗ 23 + 0 ∗ 22 + 1 ∗ 21 + 0 ∗ 20 + 1 ∗ 2−1 + 0 ∗ 2−2 + 1 ∗ 2−3 + 0 ∗ 2−4lub 8 + 2 + 1

2+ 1

8czyli 10,625

3 Używany bardzo rzadko (finanse??)4 Z matematycznego punktu widzenia są to liczby wymierne5 Jak w tej postaci zapisać liczbę 1,1

(IMMT PWr) TI-W01 30 października 2014 13 / 1

Page 19: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Liczby „zmiennoprzecinkowe”

Liczby „zmiennoprzecinkowe” I

1 Są to liczby zapisywane (kodowane) w sposób podobny do zananegonam: c = 299792458 ∼ 3 ∗ 108 m/s

2 Czyli w postaci mantysa (2,99792458) plus wykładnik 8, zatem2,99792458*108 albo inaczej 2,99792458 e8

3 W przypadku komputerów podstawa kodowania (tak mantysy jak iwykładnika) to 2!

4 Dodatkowo liczby zapisywane są zawsze w postaci„znormalizowanej” czyli takiej, że cyfra przed przecinkiem (kropką)dziesiętnym jest zawsze z zakresu między 1 a 9. (a w układziedwójkowym zawsze jest równa 1!)

5 Na zapamiętanie mantysy i wykładnika przeznaczana jest zawszeskończona liczba bitów.

6 Z matematycznego punktu widzenia są to liczby wymierne.

(IMMT PWr) TI-W01 30 października 2014 14 / 1

Page 20: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Liczby „zmiennoprzecinkowe”

Liczby „zmiennoprzecinkowe” II

7 Sposób zapisu liczb zmiennoprzecinkowych reguluje standardIEEE-754.

(IMMT PWr) TI-W01 30 października 2014 15 / 1

Page 21: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Liczby „zmiennoprzecinkowe”

Parę problemów

1 Zawsze(?) ograniczona liczba bitów przeznaczona na zapamiętanieliczby (ale znane są specjalne programy, które starają się teograniczenie przezwyciężać).

2 Wynik działań arytmetycznych często prowadzi do powstanianadmiaru (czyli przekroczenia maksymalnej dopuszczalnej wartościliczb).

3 Większość liczb które (z przyzwyczajenia) traktujemy jako dokładne,nie ma dokładnej reprezentacji dwójkowej (0,5 jest OK ale 0,1 jużnie).

(IMMT PWr) TI-W01 30 października 2014 16 / 1

Page 22: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Operacje na liczbach zmiennoprzecinkowych

Operacje na liczbach zmiennoprzecinkowych I

1 Mnożenie.Jest proste: mnożymy mantysy i dodajemy wykładniki.1, 33 e+3 ∗ 1, 55 e+7 = 2, 0615 e+10

Następnie trzeba wynik „obciąć” do odpowiedniej liczby miejscznaczących (w naszym przypadku niech to będą trzy cyfry) —2, 06 e+10

W przyku liczb binarnych będzie podobnie.Uwaga: czasami może zdarzyć się problem: w wyniku mnożenialiczba może ulec „denormalizacji” — wówczas trzeba jąznormalizować, zaokrąglić i skorygować wykładnik:5, 55 e+0 ∗ 6, 33e+0 = 35, 13 e+0 = 3, 51 e+1

(IMMT PWr) TI-W01 30 października 2014 17 / 1

Page 23: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Operacje na liczbach zmiennoprzecinkowych

Operacje na liczbach zmiennoprzecinkowych II

2 Dzielenie.Postępujemy analogicznie jak w przypadku mnożenie (dzielimymantysy, odejmujemy wykładniki). W przypadku „denormalizacji„postępujem jak wyżej1, 33 e+0/9, 88 e+0 = 0, 134615385 e+0 = 1, 35 e−1

3 Dodawanie.Sprawa nieco bardziej skomplikowana. Aby dodawać liczbyzmiennoprzecinkowe trzeba je najpierw „zdenormalizować” idoprowadzić do równości wykładników:1, 22 e+0 + 3, 35 e − 4 = 1, 22 e+0 + 0, 000335 e+0 =1, 220335 e+0 = 1, 22 e+0

a następnie zaokrąglić i znormalizować. . .4 Odejmowanie.

Identycznie jak dodawanie.

(IMMT PWr) TI-W01 30 października 2014 18 / 1

Page 24: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Konwersje

KonwersjeDziesiętny do dwójkowego

Liczby całkowite:Liczbę dzielimy przez dwa zapisując reszty z dzielenia:10

5 02 11 00 1

Reszty z dzielenia zapisujemy „od końca” otrzymując 1010

(IMMT PWr) TI-W01 30 października 2014 19 / 1

Page 25: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Konwersje

KonwersjeDziesiętny do dwójkowego

Liczby całkowite:Liczbę dzielimy przez dwa zapisując reszty z dzielenia:105 0

2 11 00 1

Reszty z dzielenia zapisujemy „od końca” otrzymując 1010

(IMMT PWr) TI-W01 30 października 2014 19 / 1

Page 26: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Konwersje

KonwersjeDziesiętny do dwójkowego

Liczby całkowite:Liczbę dzielimy przez dwa zapisując reszty z dzielenia:105 02 1

1 00 1

Reszty z dzielenia zapisujemy „od końca” otrzymując 1010

(IMMT PWr) TI-W01 30 października 2014 19 / 1

Page 27: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Konwersje

KonwersjeDziesiętny do dwójkowego

Liczby całkowite:Liczbę dzielimy przez dwa zapisując reszty z dzielenia:105 02 11 0

0 1Reszty z dzielenia zapisujemy „od końca” otrzymując 1010

(IMMT PWr) TI-W01 30 października 2014 19 / 1

Page 28: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Konwersje

KonwersjeDziesiętny do dwójkowego

Liczby całkowite:Liczbę dzielimy przez dwa zapisując reszty z dzielenia:105 02 11 00 1

Reszty z dzielenia zapisujemy „od końca” otrzymując 1010

(IMMT PWr) TI-W01 30 października 2014 19 / 1

Page 29: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Konwersje

KonwersjeDziesiętny do dwójkowego

Liczby całkowite:Liczbę dzielimy przez dwa zapisując reszty z dzielenia:105 02 11 00 1

Reszty z dzielenia zapisujemy „od końca” otrzymując 1010

(IMMT PWr) TI-W01 30 października 2014 19 / 1

Page 30: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Konwersje

KonwersjeDziesiętny do dwójkowego

Część ułamkowa:Liczbę mnożymy przez dwa i zapisujemy część całkowitą:

,33

0 ,661 ,320 ,641 ,280 ,561 ,120 ,240 ,480 ,961 ,921 ,841 ,68

0,0101010001112=0,32983398437510

(IMMT PWr) TI-W01 30 października 2014 20 / 1

Page 31: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Konwersje

KonwersjeDziesiętny do dwójkowego

Część ułamkowa:Liczbę mnożymy przez dwa i zapisujemy część całkowitą:

,330 ,66

1 ,320 ,641 ,280 ,561 ,120 ,240 ,480 ,961 ,921 ,841 ,68

0,0101010001112=0,32983398437510

(IMMT PWr) TI-W01 30 października 2014 20 / 1

Page 32: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Konwersje

KonwersjeDziesiętny do dwójkowego

Część ułamkowa:Liczbę mnożymy przez dwa i zapisujemy część całkowitą:

,330 ,661 ,32

0 ,641 ,280 ,561 ,120 ,240 ,480 ,961 ,921 ,841 ,68

0,0101010001112=0,32983398437510

(IMMT PWr) TI-W01 30 października 2014 20 / 1

Page 33: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Konwersje

KonwersjeDziesiętny do dwójkowego

Część ułamkowa:Liczbę mnożymy przez dwa i zapisujemy część całkowitą:

,330 ,661 ,320 ,64

1 ,280 ,561 ,120 ,240 ,480 ,961 ,921 ,841 ,68

0,0101010001112=0,32983398437510

(IMMT PWr) TI-W01 30 października 2014 20 / 1

Page 34: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Konwersje

KonwersjeDziesiętny do dwójkowego

Część ułamkowa:Liczbę mnożymy przez dwa i zapisujemy część całkowitą:

,330 ,661 ,320 ,641 ,28

0 ,561 ,120 ,240 ,480 ,961 ,921 ,841 ,68

0,0101010001112=0,32983398437510

(IMMT PWr) TI-W01 30 października 2014 20 / 1

Page 35: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Konwersje

KonwersjeDziesiętny do dwójkowego

Część ułamkowa:Liczbę mnożymy przez dwa i zapisujemy część całkowitą:

,330 ,661 ,320 ,641 ,280 ,56

1 ,120 ,240 ,480 ,961 ,921 ,841 ,68

0,0101010001112=0,32983398437510

(IMMT PWr) TI-W01 30 października 2014 20 / 1

Page 36: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Konwersje

KonwersjeDziesiętny do dwójkowego

Część ułamkowa:Liczbę mnożymy przez dwa i zapisujemy część całkowitą:

,330 ,661 ,320 ,641 ,280 ,561 ,12

0 ,240 ,480 ,961 ,921 ,841 ,68

0,0101010001112=0,32983398437510

(IMMT PWr) TI-W01 30 października 2014 20 / 1

Page 37: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Konwersje

KonwersjeDziesiętny do dwójkowego

Część ułamkowa:Liczbę mnożymy przez dwa i zapisujemy część całkowitą:

,330 ,661 ,320 ,641 ,280 ,561 ,120 ,24

0 ,480 ,961 ,921 ,841 ,68

0,0101010001112=0,32983398437510

(IMMT PWr) TI-W01 30 października 2014 20 / 1

Page 38: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Konwersje

KonwersjeDziesiętny do dwójkowego

Część ułamkowa:Liczbę mnożymy przez dwa i zapisujemy część całkowitą:

,330 ,661 ,320 ,641 ,280 ,561 ,120 ,240 ,48

0 ,961 ,921 ,841 ,68

0,0101010001112=0,32983398437510

(IMMT PWr) TI-W01 30 października 2014 20 / 1

Page 39: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Konwersje

KonwersjeDziesiętny do dwójkowego

Część ułamkowa:Liczbę mnożymy przez dwa i zapisujemy część całkowitą:

,330 ,661 ,320 ,641 ,280 ,561 ,120 ,240 ,480 ,96

1 ,921 ,841 ,68

0,0101010001112=0,32983398437510

(IMMT PWr) TI-W01 30 października 2014 20 / 1

Page 40: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Konwersje

KonwersjeDziesiętny do dwójkowego

Część ułamkowa:Liczbę mnożymy przez dwa i zapisujemy część całkowitą:

,330 ,661 ,320 ,641 ,280 ,561 ,120 ,240 ,480 ,961 ,92

1 ,841 ,68

0,0101010001112=0,32983398437510

(IMMT PWr) TI-W01 30 października 2014 20 / 1

Page 41: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Konwersje

KonwersjeDziesiętny do dwójkowego

Część ułamkowa:Liczbę mnożymy przez dwa i zapisujemy część całkowitą:

,330 ,661 ,320 ,641 ,280 ,561 ,120 ,240 ,480 ,961 ,921 ,84

1 ,680,0101010001112=0,32983398437510

(IMMT PWr) TI-W01 30 października 2014 20 / 1

Page 42: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Konwersje

KonwersjeDziesiętny do dwójkowego

Część ułamkowa:Liczbę mnożymy przez dwa i zapisujemy część całkowitą:

,330 ,661 ,320 ,641 ,280 ,561 ,120 ,240 ,480 ,961 ,921 ,841 ,68

0,0101010001112=0,32983398437510

(IMMT PWr) TI-W01 30 października 2014 20 / 1

Page 43: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Konwersje

KonwersjeDziesiętny do dwójkowego

Część ułamkowa:Liczbę mnożymy przez dwa i zapisujemy część całkowitą:

,330 ,661 ,320 ,641 ,280 ,561 ,120 ,240 ,480 ,961 ,921 ,841 ,68

0,0101010001112=0,32983398437510

(IMMT PWr) TI-W01 30 października 2014 20 / 1

Page 44: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Konwersje

KonwersjeDwójkowy do dziesiętnego

Do zrobienia w domu!

(IMMT PWr) TI-W01 30 października 2014 21 / 1

Page 45: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Konwersje

Wnioski

1 Konwersja liczb dziesiętnych do dwójkowych często wprowadzabłędy.

2 Ograniczona liczba bitów powoduje, że każde działanie wykonywanejest z błędem.

3 W przypadku wielokrotnego powtarzania jakiegoś obliczenia sprawazaczyna mieć znaczenie. . .

(IMMT PWr) TI-W01 30 października 2014 22 / 1

Page 46: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Część II

Błędy numeryczne

(IMMT PWr) TI-W01 30 października 2014 23 / 1

Page 47: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Podstawowe definicje

Podstawowe definicje

Wielkość — dowolna stała matematyczna, wynik jakiejś operacjimatematycznej (działania), pierwiastek rozwiązywanego równania. π jestokreślony jako stosunek obwodu okręgu do jego średnicy;

√2 jest

pierwiastkiem równania kwadratowego X 2 − 2 = 0.Wartość dokładna wielkości — wartość wynikająca wprost z definicjiwielkości, nie obarczona żadnymi błędami.Wartość przybliżona wielkości — wartość liczbowa uzyskana w wynikuobliczeń. Zazwyczaj w wyniku obliczeń nie uzyskujemy dokładnejwartości.

(IMMT PWr) TI-W01 30 października 2014 24 / 1

Page 48: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Podstawowe definicje

Wielkości fizyczne

Ciśnienie, temperatura, długość, stężenie — to przykłady wielkościfizycznych, które bardzo często „mierzymy”.Każdy pomiar obarczony jest błędem wynikającym z dokładności użytegonarzędzia pomiarowego.Wartość dokładna to temperatura w jakimś miejscu sali; wartośćprzybliżona — to wartość zmierzona jakimś termometrem.

(IMMT PWr) TI-W01 30 października 2014 25 / 1

Page 49: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Podstawowe definicje

Obliczenia

Używamy komputera do dokonania jakichś obliczeń.

Komputer podaje wynik (a = 5,34273343) mający 8 cyfr po przecinku.Czy możemy powiedzieć, że wyznaczona liczba ma wszystkie cyfrypoprawne?, Czy różni się od wartości dokładnej o mniej niż0,5 · 10−8?A co z sytuacją, że zastosowana metoda obliczeń jest mało dokładna?

(IMMT PWr) TI-W01 30 października 2014 26 / 1

Page 50: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Podstawowe definicje

Obliczenia

Używamy komputera do dokonania jakichś obliczeń.Komputer podaje wynik (a = 5,34273343) mający 8 cyfr po przecinku.

Czy możemy powiedzieć, że wyznaczona liczba ma wszystkie cyfrypoprawne?, Czy różni się od wartości dokładnej o mniej niż0,5 · 10−8?A co z sytuacją, że zastosowana metoda obliczeń jest mało dokładna?

(IMMT PWr) TI-W01 30 października 2014 26 / 1

Page 51: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Podstawowe definicje

Obliczenia

Używamy komputera do dokonania jakichś obliczeń.Komputer podaje wynik (a = 5,34273343) mający 8 cyfr po przecinku.Czy możemy powiedzieć, że wyznaczona liczba ma wszystkie cyfrypoprawne?, Czy różni się od wartości dokładnej o mniej niż0,5 · 10−8?

A co z sytuacją, że zastosowana metoda obliczeń jest mało dokładna?

(IMMT PWr) TI-W01 30 października 2014 26 / 1

Page 52: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Podstawowe definicje

Obliczenia

Używamy komputera do dokonania jakichś obliczeń.Komputer podaje wynik (a = 5,34273343) mający 8 cyfr po przecinku.Czy możemy powiedzieć, że wyznaczona liczba ma wszystkie cyfrypoprawne?, Czy różni się od wartości dokładnej o mniej niż0,5 · 10−8?A co z sytuacją, że zastosowana metoda obliczeń jest mało dokładna?

(IMMT PWr) TI-W01 30 października 2014 26 / 1

Page 53: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Błąd bezwzględny wartości przybliżonej

Błąd bezwzględny wartości przybliżonej I

Niech A będzie wartością dokładną, a a wartością przybliżoną pewnejwielkości. Błędem bezwzględnym wartości przybliżonej nazywamy każdąliczbę ∆a spełniającą warunek:

|A− a| ≤ ∆a,

to znaczy taką liczbę, że

a − ∆a ≤ A ≤ a + ∆a.

Wartość przybliżona a i jej błąd bezwzględny ∆a wyznaczają przedział:

< a − ∆a; a + ∆a >,

do którego należy dokładna wartość A

Błąd bezwzględny nie jest określony jednoznacznie!

(IMMT PWr) TI-W01 30 października 2014 27 / 1

Page 54: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Błąd bezwzględny wartości przybliżonej

Liczba przybliżona

Jeżeli a jest wartością przybliżoną dla wartości dokładnej A, obciążonąbłędem ∆a, to parę liczb ∆a, a zapisaną w postaci

∆aa

będziemy nazywali liczbą przybliżoną dla A.

(IMMT PWr) TI-W01 30 października 2014 28 / 1

Page 55: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Błąd bezwzględny wartości przybliżonej

π

Wiemy, że π = 3,14159265 . . .. Wartością przybliżoną π często używanąw rachunkach, jest liczba 3,14.Jej błędem bezwzględnym jest na przykład liczba ∆a = 0,0016.Dokładna wartość π jest zawarta między liczbami:

3,14− 0,0016 ≤ π ≤ 3, 14 + 0,0016

to znaczy π znajduje się w przedziale

< 3,1384; 3,1416 >

Zatem możemy zapisać π =0,00163,14

(IMMT PWr) TI-W01 30 października 2014 29 / 1

Page 56: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Błąd bezwzględny wartości przybliżonej

„Równość w przybliżeniu”

Jeżeli liczby przybliżone αa i

βb są takie, że przedział < a− α ; a + α > jest

zawarty w przedziale < b − β; b + β > to mówimy, że liczba αa jest w

przybliżeniu równa liczbieβb. Zapisujemy to α

a⇒βb.

Z tego że „αa jest w przybliżeniu równeβb NIE WYNIKA, że

βb jest w

przybliżeniu równe αa!

(IMMT PWr) TI-W01 30 października 2014 30 / 1

Page 57: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Błąd bezwzględny wartości przybliżonej

Zaokrąglanie liczb przybliżonych

Dla dowolnej liczby przybliżonej αa i dowolnej liczby rzeczywistej bzachodzi związek:

αa⇒

α+|a−b|b

czyli αa jest w przybliżeniu równeα+|a−b|

bZaokrąglanie stosujemy wtedy, gdy wynik jakichś działań ma zbyt wiele

cyfr. Zastępując liczbę αa=

0,00000273,14159 liczbą 3,14 możemy oszacować błąd.

Wynosi on 0,0000027 + |3,14159− 3,14. Czyli: 0,0015927. Zatem:

0,00000273,14159⇒

0,00159273,14

(IMMT PWr) TI-W01 30 października 2014 31 / 1

Page 58: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Błąd bezwzględny wartości przybliżonej

Zaokrąglanie liczb przybliżonych

Jeżeli β ≥ α , to:αa⇒

βb

Zatem0,00159273,14 ⇒

0,00163,14

(IMMT PWr) TI-W01 30 października 2014 32 / 1

Page 59: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Błąd bezwzględny wartości przybliżonej

Reguły zaokrąglania

Gdy wynik działania arytmetycznego ma (za) dużo cyfr – możemyodrzucić „ostatnie, zbędne cyfry” (pamiętając o zwiększeniu błęduzaokrąglenia).Gdy pierwszą odrzuconą cyfrą jest 0, 1, 2, 3, 4 – cyfr pozostawionychw wartości przybliżonej nie zmieniamy.Jeżeli pierwszą odrzuconą cyfrą jest 5, 6, 7, 8, 9 – do pozostawionejczęści wartości przybliżonej dodajemy 1 na ostatnim zostawianymmiejscu dziesiętnym.

Taka zmiana liczby przybliżonej nazywa się poprawnym zaokrągleniem.

(IMMT PWr) TI-W01 30 października 2014 33 / 1

Page 60: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Działania na liczbach przybliżonych

Działania na liczbach przybliżonych

sumaαa +

βb=

α+βa + b

różnicaαa −

βb=

α+βa − b

(IMMT PWr) TI-W01 30 października 2014 34 / 1

Page 61: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Działania na liczbach przybliżonych

Działania na liczbach przybliżonych

sumaαa +

βb=

α+βa + b

różnicaαa −

βb=

α+βa − b

(IMMT PWr) TI-W01 30 października 2014 34 / 1

Page 62: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Działania na liczbach przybliżonych

Działania na liczbach przybliżonych

iloczyn

αa ·

βb⇒

|a|β+|b|α+αβab

dzielenie

αa:βb⇒

γa

b

gdzie

γ =α + | a

b|β

|b| − β .

(IMMT PWr) TI-W01 30 października 2014 35 / 1

Page 63: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Działania na liczbach przybliżonych

Działania na liczbach przybliżonych

iloczyn

αa ·

βb⇒

|a|β+|b|α+αβab

dzielenie

αa:βb⇒

γa

b

gdzie

γ =α + | a

b|β

|b| − β .

(IMMT PWr) TI-W01 30 października 2014 35 / 1

Page 64: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Działania na liczbach przybliżonych

Działania na liczbach przybliżonychsuma

1 Pierwszy najmniej korzystny przypadek:

a − α + b − β = (a + b)− (α + β)

2 Drugi najmniej korzystny przypadek:

a + α + b + β = (a + b) + (α + β)

(IMMT PWr) TI-W01 30 października 2014 36 / 1

Page 65: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Działania na liczbach przybliżonych

Działania na liczbach przybliżonychsuma

1 Pierwszy najmniej korzystny przypadek:

a − α + b − β = (a + b)− (α + β)

2 Drugi najmniej korzystny przypadek:

a + α + b + β = (a + b) + (α + β)

(Zadanie domowe: jak będzie w przypadku różnicy? A w przypadkuiloczynu?)

(IMMT PWr) TI-W01 30 października 2014 36 / 1

Page 66: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Przykład

Przykład

Obliczyć wartość wielomianu

w (x) = a0x4 + a1x

3 + a2x2 + a3x + a4

dla x = 2,1.Przyjmijmy, że współczynniki wielomianu są liczbami dokładnymi irównają się:

a0 = 2,3, a1 = 3, a2 = −4,5, a3 = 7,2, a4 = −0, 1

Najpierw obliczenia wykonamy z dokładnością do dwóch miejsc poprzecinku, a później z dokładnością do czterech.

(IMMT PWr) TI-W01 30 października 2014 37 / 1

Page 67: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Przykład

Przykład cddwie cyfry

x2 =0,02,1 ×

0,02,1=

0,004,41

x3 =0,004, 41 ×

0,02, 1=

0,0009,261⇒

0,0019,26

x4 =0,0019,26 ×

0,02,1⇒

0,002119,446 ⇒

0,006119,45

2,3× x4 =0,02,3 ×

0,006119,45 ⇒

0,0140344,735 ⇒

0,0190344,74 ⇒

0,0244,74

3x3 =0

3 ×0,0019,26 ⇒

0,00327,78

−4,5x2 =0,0−4,5 ×

0,004,41⇒

0,000−19,845⇒

0,005−19,85

7,2x =0,07,2 ×

0,02,1⇒

0,0015,12

suma:w (2,1) =

0,0244,74 +

0,00327,78

0,005−19,85 +

0,0015,12

0,0−0,1=

0,02867,69

(IMMT PWr) TI-W01 30 października 2014 38 / 1

Page 68: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Przykład

Przykład cdcztery cyfry

x2 =0,02,1 ×

0,02,1=

0,004,41

x3 =0,004, 41 ×

0,02, 1=

0,0009,261

x4 =0,0009,261 ×

0,02,1=

0,000019,4481

2,3× x4 =0,02,3 ×

0,000019,4481=

0,000044,73063⇒

0,0000344,7306

3x3 =0

3 ×0,0009,261=

0,00027,783

−4,5x2 =0,0−4,5 ×

0,004,41=

0,000−19,845

7,2x =0,07,2 ×

0,02,1=

0,0015,12

suma

w (2,1) =0,0000344,7306 +

0,00027,783 −

0,00019,845 +

0,0015,12 −

0,00,1=

0,0000367,6886

(IMMT PWr) TI-W01 30 października 2014 39 / 1

Page 69: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Przykład

Przykład cdZałóżmy teraz, że współczynniki obarczone są błędami i równają się:

a0 =0,012,3, a1 =

0

3, a2 =0,02−4,5, a3 =

0,027,2, a4 =

0,01−0, 1

dwie cyfry

w (2,1)⇒0,4267,69

cztery cyfry

w (2,1)⇒0,3678

67,6886⇒0,369267,69⇒

0,3767,69

Prowadzenie obliczeń z dokładnością do czterech cyfr po przecinku praktycznie nie zwiększyłodokładności!Wynika to stąd, że dane obarczone są dużym błędem (już druga cyfra poprzecinku nie jest dokładna).

(IMMT PWr) TI-W01 30 października 2014 40 / 1

Page 70: Technologie Informacyjne Wykład 4 - Katedra Mechaniki i ... · Technologie Informacyjne Wykład 4 Arytmetyka komputerów ... Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie,

Przykład

Kolofon

Prezentacja złożona w systemie LATEX 2ε z wykorzystaniem klasy beamer.Użyto fontu Iwona.

(IMMT PWr) TI-W01 30 października 2014 41 / 1