• Nie Znaleziono Wyników

WSTĘP DO INFORMATYKI

N/A
N/A
Protected

Academic year: 2021

Share "WSTĘP DO INFORMATYKI"

Copied!
11
0
0

Pełen tekst

(1)

www.agh.edu.pl Adrian Horzyk

WSTĘP DO INFORMATYKI

Akademia Górniczo-Hutnicza

Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej

SYSTEMY KODOWANIA ORAZ

REPREZENTACJA I ARYTMETYKA LICZB

(2)

SYSTEMY KODOWANIA LICZB

W celu ujednolicenia obliczeń numerycznych na różnych platformach sprzętowych wprowadzono standard IEEE 754 dla zapisu liczb

zmiennoprzecinkowych (o zapisie zmiennopozycyjnym).

Standard ten definiuje dwa rodzaje liczb zmiennoprzecinkowych:

- o pojedynczej precyzji (32-bitowe) - o podwójnej precyzji (64-bitowe)

Kod binarny tych liczb podzielony jest na 3 części:

Bity cechy

Bit znaku Bit znaku cechy Bity mantysy

Bity cechy

(3)

SYSTEMY KODOWANIA LICZB

Bit znaku z przyjmuje wartość:

0 – dla liczb dodatnich 1 – dla liczb ujemnych

Bit znaku cechy s przyjmuje wartość:

0 – dla liczb o wykładniku dodatnim (dużych liczb 2c) 1 – dla liczb o wykładniku ujemnym (małych liczb 2-c) Bity cechy określają:

wykładnik potęgowy dla podstawy dwójkowej Bity mantysy:

Zawierają tylko bity ułamkowe (po przecinku dziesiętnym)

Liczba określona jest więc w następujący sposób: 𝒍 = −𝟏 𝒛 ∙ 𝒎 ∙ 𝟐 −𝟏 𝑺·𝒄

(4)

KODOWANIE STAŁO i ZMIENNOPOZYCYJNE

Kodowanie stałopozycyjne służy do zapisu liczb całkowitych l:

Kodowanie zmiennopozycyjne służy do zapisu liczb wymiernych x:

ograniczone do reprezentacji tylko t najistotniejszych bitów tych liczb w systemie binarnym. Powstaje więc pewien błąd reprezentacji

na skutek obcięcia najmniej znaczących bitów i zaokrąglenia mantysy do t bitów:

Możemy więc reprezentować liczby z pewnego ograniczonego zakresu:

Mniejsze będą zastępowane zerem, co nazywamy błędem niedomiaru,

a większe będę powodować błąd nadmiaru, powodującym przerwanie obliczeń.

) 0 0

( , 2

0

l dla e

e s

l n

n

i

i i

 t t t

i

i i

t e e

m

 

2 1 2

1

 

x x

rd

~

 

x s mt c

rd 2

 

2 rd

 

x x

1

x

x x

rd t

 2t

min 2 max

2 2

1 c c

x 

cmin  2dt 1

c

max

 2

dt

 1

(5)

PRZYKŁAD

Obliczania modułu z liczby zespolonej:

klasycznym algorytmem:

przekształconym algorytmem:

W klasycznym algorytmie wystąpi nadmiar, jeśli a lub b są co do modułu większe od

niedomiar, jeśli a lub b są co do modułu mniejsze od

zaś przekształcony algorytm pozwala na obliczenie modułu z liczby zespolonej z dla dowolnych a i b z zakresu reprezentowanych liczb.

1 ,

0  

a bi i z

2

2 b

a

z  





 

b a b gdy

b a

b a a gdy

a b z

2 2 2 2

1 1

max 2

2

c

min 2

2 2

1 

c

(6)

ZAKRESY LICZB

Zakres liczb zmiennoprzecinkowych IEEE 754 w pojedynczej precyzji:

 Z(IEEE 754) = - 3,4 × 1038 ... 3,4 × 1038

 Oferują precyzję 7 cyfr dziesiętnych

Zakres liczb zmiennoprzecinkowych IEEE 754 w podwójnej precyzji:

 Z(IEEE 754) = - 1,8 × 10308 ... 1,8 × 10308

 Oferują precyzję 15-16 cyfr dziesiętnych

Nie liczba (NaN):

Nieskończoności:

 Dodatnia:

 Ujemna:

(7)

Liczenie na 10 palcach?

A dlaczego właśnie na 10?

A może by tak na dwóch jak komputery?

http://www.matematyczny-swiat.pl/2013/10/tabliczka-mnozenia-na-palcach.html

0 1

(8)

Liczenie zależy od systemu liczbowego

W systemie 16-kowym tabliczka mnożenia wygląda inaczej:

Ile jest 8 * 9 w systemie 16-kowym? 48!

(9)

KONWERSJE POMIĘDZY SYSTEMAMI LICZBOWYMI

Tą samą liczbę możemy zapisać w różnych systemach liczbowych, np.:

Konwersje pomiędzy systemami liczbowymi dokonujemy przede wszystkim w związku z możliwością wykonywania operacji matematycznych i porównań w określonym systemie liczbowym przez komputer w systemie 2-kowym, a przez człowieka w systemie 10-nym.

Przekształcenie liczby z systemu 10-nego na system 2-kowy poprzez dzielenie:

1995 : 2 = 997 r 1 997 : 2 = 498 r 1

498 : 2 = 249 r 0 W przekształceniu odwrotnym wykonujemy mnożenie przez 249 : 2 = 124 r 1 podstawę systemu, z którego dokonujemy przekształcenia:

124 : 2 = 62 r 0 62 : 2 = 31 r 0 31 : 2 = 15 r 1 15 : 2 = 7 r 1 7 : 2 = 3 r 1 3 : 2 = 1 r 1 1 : 2 = 0 r 1

11111001011 2 = 2201220 3 = 133023[4] = 30440[5] = 13123[6] =

= 5550[7]= 3713[8] = 2656[9] = 1995[10] = 1554[11] = 11A3[12] =

= BA6[13] = A27[14] = 8D0[15] = 7CB[16]

(1995)[10] = (𝟏𝟏𝟏𝟏𝟏𝟎𝟎𝟏𝟎𝟏𝟏) 𝟐

(𝟏𝟏𝟏𝟏𝟏𝟎𝟎𝟏𝟎𝟏𝟏) 𝟐 =

(((((((((((1*2)+1)*2+1)*2+1)*2+1)*2+0)*2+0)*2+1)*2+0)*2+1)*2+1)*2

= (1995)[10]

(10)

KONWERSJE LICZB WYMIERNYCH

Liczby wymierne w obcym systemie najpierw przekształcamy na iloraz liczb całkowitych, a następnie dokonujemy ich konwersji do znanego systemu, gdzie dokonujemy dzielenia:

W przypadku odwrotnego przekształcenia mnożymy przekształcaną liczbę przez podstawę systemu docelowego:

Takie liczby jak 0,45 czy 0,56 nie posiadają skończonego rozwinięcia dwójkowego, więc dalsze operacje wykonywana na takich liczbach mogą prowadzić do błędów numerycznych na skutek zaokrąglenia!

(0,01101)[2] = (1101)[2]

(100000)[2] = (13)[10]

(32)[10] = (𝟎, 𝟒𝟎𝟔𝟐𝟓)[10]

0,𝟒𝟎𝟔𝟐𝟓 ∗ 𝟐 = (0),81250 0,81250 * 2 = (1),62500 0,62500 * 2 = (1),25000 0,25000 * 2 = (0),50000 0,50000 * 2 = (1).00000

(11)

BIBLIOGRAFIA I LITERATURA UZUPEŁNIAJĄCA

1. L. Banachowski, K. Diks, W. Rytter: „Algorytmy i struktury danych”, WNT, Warszawa, 2001.

2. Z. Fortuna, B. Macukow, J. Wąsowski: „Metody numeryczne”, WNT, Warszawa, 1993.

3. J. i M. Jankowscy: „Przegląd metod i algorytmów numerycznych”, WNT, Warszawa, 1988.

4. A. Kiełbasiński, H. Schwetlick: „Numeryczna algebra liniowa”, WNT, Warszawa 1992.

5. M. Sysło: „Elementy Informatyki”.

6. A. Szepietowski: „Podstawy Informatyki”.

7. R. Tadeusiewicz, P. Moszner, A. Szydełko: „Teoretyczne podstawy informatyki”.

8. W. M. Turski: „Propedeutyka informatyki”.

9. N. Wirth: „Wstęp do programowania systematycznego”.

10. N. Wirth: „ALGORYTMY + STRUKTURY DANYCH = PROGRAMY”.

Cytaty

Powiązane dokumenty

deklaracja, odwołania do elementów, inicjalizacja tablicy generator liczb pseudolosowych.. operacje na wektorze Standard IEEE 754 Standard IEEE 754 liczby 64-bitowe zakres i

zapis zmiennoprzecinkowy liczby rzeczywistej, postać znormalizowana zakres liczb zmiennoprzecinkowych.. Standard

Wskaźnik to zmienna, której wartością jest adres pewnego obszaru pamięci, a zadaniem - wskazywanie na inne zmienne. Przypisanie wskaźnika do wskaźnika skutkuje skopiowaniem

Program to zbiór deklaracji, czyli opisu obiektów, które b¸edziemy używać, oraz poleceń (instrukcji), czyli opisu akcji, które b¸edziemy wykonywać. Dost¸epnymi obiektami s¸

Na przykładzie powtarzalnego, porowatego układu złożonego z obrotowo-symetrycznych komórek, określono dokładność obliczeń dwóch metod sieciowych – metody

Złożone układy kwantowo-mechaniczne: iloczyny tensorowe przestrzeni i operacji liniowych.Stany splątane, miary splątania, rozkład Schmidta.Splątanie stanów mieszanych:znane

Wyszukiwanie z wykorzystaniem tablicy haszującej (hash table) umożliwia teoretycznie najszybsze wyszukiwanie (w czasie stałym) pod warunkiem określenia takiej funkcji haszującej,

• wyznaczanie zer wielomianów metodą iterowanego dzielenia wielomianów (wypro- wadzenie współczynnków wielomianów niższych stopni) z zastosowaniem wzorów iteracyjnych Newtona