Technologie Informatyczne Wykład IV/V

Podobne dokumenty
Technologie informacyjne Wykład IV-VI

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze

Pracownia Komputerowa wykład VI

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Teoretyczne Podstawy Informatyki

Architektura komputerów

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

RODZAJE INFORMACJI. Informacje analogowe. Informacje cyfrowe. U(t) U(t) Umax. Umax. R=(0,Umax) nieskończony zbiór możliwych wartości. Umax.

Podstawy Informatyki. Wykład 2. Reprezentacja liczb w komputerze

Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci:

Wielkości liczbowe. Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

Prefiksy binarne. kibibit (Kibit) mebibit (Mibit) gibibit (Gibit) tebibit (Tibit) pebibit (Pibit) exbibit (Eibit) zebibit (Zibit) yobibit (Yibit)

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Wielkości liczbowe. Wykład z Podstaw Informatyki. Piotr Mika

Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

Podstawy Informatyki

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

ARCHITEKTURA KOMPUTERÓW Liczby zmiennoprzecinkowe

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Systemy zapisu liczb.

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

Pracownia Komputerowa wyk ad VI

Wstęp do informatyki. Pojęcie liczebności. Zapis liczb. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa.

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

Stan wysoki (H) i stan niski (L)

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Wstęp do informatyki. Pojęcie liczebności. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek

Techniki multimedialne

Informatyka kodowanie liczb. dr hab. inż. Mikołaj Morzy

Języki i metodyka programowania. Reprezentacja danych w systemach komputerowych

Podstawy informatyki (2)

Pracownia Komputerowa wykład V

Wstęp do informatyki- wykład 1 Systemy liczbowe

kodowanie informacji Autor prezentacji: 1 prof. dr hab. Maria Hilczer

1259 (10) = 1 * * * * 100 = 1 * * * *1

Podstawy informatyki. Reprezentacja danych w systemach cyfrowych

ARCHITEKTURA KOMPUTERÓW Systemy liczbowe

Kodowanie liczb całkowitych w systemach komputerowych

PODSTAWY INFORMATYKI. Informatyka? - definicja

Podstawy Informatyki dla Nauczyciela

Wykład 2. Informatyka Stosowana. 9 października Informatyka Stosowana Wykład 2 9 października / 42

Wykład 2. Informatyka Stosowana. 10 października Informatyka Stosowana Wykład 2 10 października / 42

4 Standardy reprezentacji znaków. 5 Przechowywanie danych w pamięci. 6 Literatura

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

SYSTEMY LICZBOWE. SYSTEMY POZYCYJNE: dziesiętny (arabski): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 rzymski: I, II, III, V, C, M

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 2 WSTĘP DO INFORMATYKI

Kod IEEE754. IEEE754 (1985) - norma dotycząca zapisu binarnego liczb zmiennopozycyjnych (pojedynczej precyzji) Liczbę binarną o postaci

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

Pozycyjny system liczbowy

Architektura komputerów

Zwykle liczby rzeczywiste przedstawia się w notacji naukowej :

Systemy liczenia. 333= 3*100+3*10+3*1

1.1. Pozycyjne systemy liczbowe

Kod U2 Opracował: Andrzej Nowak

Pracownia Komputerowa wykład IV

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Znaki w tym systemie odpowiadają następującym liczbom: I=1, V=5, X=10, L=50, C=100, D=500, M=1000

SYSTEMY LICZBOWE 275,538 =

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łan Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Programowanie Niskopoziomowe

Wstęp do informatyki- wykład 1

Technologie Informacyjne

Wstęp do Informatyki

Arytmetyka binarna - wykład 6

Arytmetyka liczb binarnych

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

Architektura komputerów

Kod uzupełnień do dwóch jest najczęściej stosowanym systemem zapisu liczb ujemnych wśród systemów binarnych.

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

Technika Cyfrowa i Mikroprocesorowa

Naturalny kod binarny (NKB)

Pracownia Komputerowa wyk ad IV

System Liczbowe. Szesnastkowy ( heksadecymalny)

Wstęp do Informatyki. Reprezentacja liczb w komputerze Arytmetyka stało- i zmiennoprzecinkowa Przechowywanie danych pliki i foldery

Wstęp do informatyki- wykład 2

Arytmetyka stało i zmiennoprzecinkowa

Wykład I: Kodowanie liczb w systemach binarnych. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Komunikacja człowiek-komputer

Kodowanie informacji. Kody liczbowe

Reprezentacja stałoprzecinkowa. Reprezentacja zmiennoprzecinkowa zapis zmiennoprzecinkowy liczby rzeczywistej

2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,

Cel wykładu. Cel wykładu. Cel wykładu, cd. Cel wykładu, cd. Cel wykładu, cd. Z. Postawa, "Podstawy Informatyki II" Strona: 1 z 6

Pracownia Komputerowa wyk ad V

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

Podstawy informatyki (2)

LICZBY ZMIENNOPRZECINKOWE

Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles).

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE

Systemy liczbowe używane w technice komputerowej

Arytmetyka komputera

L6.1 Systemy liczenia stosowane w informatyce

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów.

Typ użyty w deklaracji zmiennej decyduje o rodzaju informacji, a nazwa zmiennej symbolicznie opisuje wartość.

Technologie Informacyjne Wykład 4

Transkrypt:

Technologie Informatyczne Wykład IV/V A. Matuszak 22 października 2010

Pozycyjny układ liczenia Cyfry rzymskie: IX+LC=? Cyfry arabskie: 2341 = 2 1000+3 100+4 10+1 1 = 2 10 3 +3 10 2 +4 10 1 +1 10 0 Pozycyjny układ liczenia: ABC a = A a 2 + B a 1 + C a 0 Układ dwójkowy: 10111 2 = 1 2 4 +0 2 3 +1 2 2 +1 2 1 +1 2 0 = 1 16+0 8+1 4+1 2+1 1 = 23 10 Układ ósemkowy: 123 8 = 1 8 2 + 2 8 1 + 3 8 0 = 1 64 + 2 8 + 3 1 = 83 10 Układ szesnastkowy (A=10, B=11,... F=15): 71 16 = 7 16 1 + 3 16 0 = 7 16 + 1 1 = 113 10 F 1 16 = 15 16 1 + 3 16 0 = 15 16 + 1 1 = 241 10

Przeliczanie z dziesiętnego na dwójkowy Kolejne reszty z dzielenia liczy przez 2 dają (od końca) liczbę dwójkową. 23 : 2 = 11 r 1 11 : 2 = 5 r 1 5 : 2 = 2 r 1 2 : 2 = 1 r 0 1 : 2 = 0 r 1 23 10 = 10111 2 Przeliczanie z dwójkowego na ósemkowy i szesnastkowy dzielimy liczbę na grupy po trzy cyfry: 10111 2 = {10} {111} = {2} {4 + 2 + 1} = {2} {7} = 27 8 dzielimy liczbę na grupy po cztery cyfry: 10111 2 = {1} {0111} = {1} {4 + 2 + 1} = {1} {7} = 17 16 = 23 10

Bit wartość reprezentująca 0 lub 1. Każda liczba (całkowita) zapisana w postaci dwójkowej (binarnej) odpowiada sekwencji (ciągowi) bitów. Ze względów praktycznych bity grupujemy w porcje zwane bajtami. 1 bajt (1B) (ang. byte) zawiera 8 bitów. Wielokrotności bajtu to: kilobajt (kb) równy 1024 B megabajt (MB) 1024 2 B gigabajt (GB) 1024 3 B Konflikt z przedrostkami SI. KiB (kibibajty), MiB (mibibajty), GiB (gibibajty) Liczby całkowite ze znakiem Jeśli chcemy uwzględnić znak liczby to musimy poświęcić jeden bit na zaznaczenie, że liczba jest ujemna. Powoduje to, że pierwszy bit znaczy co innego niż wszystkie pozostałe. Oprócz tego mamy +0 i -0. Arytmetyka uzupełnieniowa: najbardziej znaczący bit ma znak -. 10111 U2 = 1 2 4 +0 2 3 +1 2 2 +1 2 1 +12 0 = 16+4+1 = 11 (wiodące zera!)

Liczby rzeczywiste Najprostszy pomysł, para liczb całkowitych: 1234.56 1234 i 56 Znaczne ograniczenie zakresu. Liczba rzeczywista w postaci znormalizowanej: 1234.56 = 0.123456 10 5 Lepszy pomysł, trójka liczb całkowitych: 0.123456 10 5 0 123456 5 Zera nie trzeba pamiętać, jeśli umówimy się, że pierwsza cyfra z drugiej trójki jest różna od zera! Jak zapisać 0.0? Kod Morse a e. o --- s... t - sos... ---......---... eeeoeee? sos? eeettteee /.../---/.../ sos /./././---/./././ eeeoeee Trzy stany:., - i / (0,1 i 2)

Sposób reprezentacji Nie można (w praktyce) reprezentować ciągów bitów o dowolnej długości. Musielibyśmy posiadać informacje gdzie zaczyna się i gdzie kończy porcja bitów (zer i jedynek) reprezentująca wielkość. Każda reprezentacja binarna danych ma ustaloną wielkość (ilość bitów). Ta wielkość jest cechą architektury komputera (głównie procesora). ASCII ACSII to międzynarodowy standard zapisu znaków (liter, cyfr i in.) przy pomocy ciągu bitów. Jako wyjątek od reguły ASCII jest niezależny od architektury. Każdy znak jest zapisany w jednym bajcie czyli na 8 bitach. Każdemu znakowi jest przypisana pozycja w tabeli. Każdej pozycji (liczbie od 0) przypisana jest sekwencja bitów będąca reprezentacją dwójkowa pozycji. Znaków może być 256.

Rozszerzone ASCII Znaki narodowe. polskie: ą, ę, ć, ł, ó, ń, ś, ź, ż Strony kodowe: cp852, ą 165, ę 169 cp1250, ą 185, ę 234 iso 8859 2, ą 177, ę 234 Brak informacji o kodowaniu wewnątrz dokumentu!! Lokalizacja Linux ustawienie języka, zmienna LANG=pl PL wyświetlanie, zestaw czcionek, zmienna LC CTYPE=pl PL wprowadzanie, setxkbmap pl sortowanie, zmienna LC COLLATE=pl PL

MIME Poczta elektroniczna Content-Type: text/plain; charset=... Content-Transfer-Encoding:... 8bit Wykłady odbywają się we środy quoted printable Wyk=B3ady odbywaj=b1 si=ea we =B6rody base64 (nie używać do tekstu!!) V3lrs2FkeSBvZGJ5d2FqsSBzaeogd2UgtnJvZHkK Unicode utf 16 65536 znaków każdy znak jest zapisywany na dwu bajtach, ponieważ znak o kodzie 0 (null byte) jest powszechnie używanym separatorem, trzeba zmienić połowę systemów informatycznych utf 8 4.29 10 9 znaków zmienna długość, od 1 do 4 bajtów przy 1 bajcie zgodny z podstawowym ASCII, więc null bajt zachowuje swoje znaczenie

Porządek danych Cyfry w liczbie: 1234 Pismo: od lewej do prawej od prawej do lewej od góry do dołu Kolejność liczebników: polski: dwadzieścia-jeden angielski: twenty-one niemiecki: ein-und-zwanzig Porządek danych (2) Kod pocztowy: Europa kontynentalna kod miasto: 31 155 Kraków Kraje anglosaskie miasto kod: BOURNEMOUTH BH1 1AA Data (LC TIME): polski (dawny): dd/mm/yyyy 13/07/2003 polski (nowy): yyyy-mm-dd 2003-07-13 amerykański: mm/dd/yyyy 07/13/2003 (Farenheit 9/11 Farenheit 11 września)

Kolejność bajtów Jonathan Swift Podróże Guliwera. Wojna Liliputów i Blefusków czy jajko należy obierać od grubego końca czy od cienkiego. Analogiczny i równie zażarty spór toczył (i toczy) wśród informatyków na temat kolejności danych. Przedmiot sporu najczęściej ilustruje się przykładzie czterech bajtów. Czy powinny być w kolejności 1-2-3-4 czy też 4-3-2-1 Kolejność bajtów - Endian big endian big end first, grubokońcowość 4-3-2-1 naturalna kolejność procesory SPARC, Motorola 68000, PowerPC little endian little end first, cienkokońcowość kolejność 1-2-3-4 kolejność operacji (przeniesienia) procesory Intel x86, AMD64 middle-endian (historyczny) kolejność 2-1-4-3 (lub 3-4-1-2) szerokość szyny danych a procesor! DEC PDP-11

Liczby całkowite Liczby całkowite bez znaku 32 bity [0 4294967295] 64 bity [0 18446744073709551615] ze znakiem 32 bity [ 2147483648 2147483647] 64 b. [ 9223372036854775808 9223372036854775807] 10! = 3628800 (7cyfr) 15! = 1307674368000 (14 cyfr, większe iż MAX INT ) ( ) 15 = 15! 15 14 11 = = 360360 = 3003 10 10! 5! 5! 120 Zegar

Arytmetyka liczb całkowitych a b = c mod(max INT + 1) Matematyka a komputer Z punktu widzenia matematyki jest obojętne w jaki sposób obliczamy wartość, w przypadku użycia komputera sposób obliczania nie jest obojętny!!

Liczby całkowite 120! = 6 689 502 913 449 127 057 588 118 054 090 372 586 752 746 333 138 029 810 295 671 352 301 633 557 244 962 989 366 874 165 271 984 981 308 157 637 893 214 090 552 534 408 589 408 121 859 898 481 114 389 650 005 964 960 521 256 960 000 000 000 000 000 000 000 000 000 6, 69 10 198 (liczba blisko 200-cyfrowa) Liczby rzeczywiste 101.11011 2 = 1 2 2 +0 2 1 +1 2 0 +1 2 1 +1 2 2 +0 2 3 +1 2 4 = 1 4 + 0 2 + 1 1 + 1 1 2 + 1 1 4 + +0 1 8 + 1 1 16 + 1 1 32 = 5.84375 10 0.84375 10 =?? 2 0.84375 2 = 1.6875 1 + 0.6875 0.6875 2 = 1.375 1 + 0.375 0.375 2 = 0.75 0 + 0.75 0.75 2 = 1.5 1 + 0.5 0.5 2 = 1 1 + 0.0

Liczby rzeczywiste 1 5 = 0.2 10 =?? 2 0.2 2 = 0.4 0 + 0.4 0.4 2 = 0.8 0 + 0.8 0.8 2 = 1.6 1 + 0.6 0.6 2 = 1.2 1 + 0.2 0.2 10 = 0.(0011)(0011)(0011)... (0011) 2 Rozwinięcie nieskończone, okresowe!!! (Patriot kontra Scud) Arytmetyka IEEE 754 Zmiennoprzecinkowa arytmetyka koprocesora x87. FPU (Floating Point Unit). Dla linii procesorów x86 od Intel 80486DX FPU został wbudowany do procesora.

Arytmetyka IEEE 754 Dwa rodzaje liczb zmiennoprzecinkowych: pojedynczej precyzji 32 bity float podwójnej precyzji 64 bity double Reprezentacja (ilość bitów) jest taka sama dla procesorów 32 bitowych (obecne Intele, AMD etc.) jak i dla procesorów 64 bitowych (Ithanium AMD64). Zakres dla liczb pojedynczej precyzji obejmuje ±1.18 10 38 do około ±3.4 10 39. Zakres dla liczb podwójnej precyzji obejmuje ±2.2 10 308 do około ±1.8 10 308. Stała Plancka h = 6, 6260693(11) 10 34 J s Arytmetyka IEEE 754 Część ułamkowa (fraction) jest normalizowana tak aby pierwszy bit był jedynką i ta jedynka nie jest zapamiętywana. W konsekwencji nie da się reprezentować w ten sposób wartości 0.0

Arytmetyka IEEE 754 wartości specjalne IEEE 754 ma reprezentację specjalną dla kilku wartości: 0.0 jest reprezentowane przez dwie wartości +0.0 i 0.0, które się różnią! Inf nieskończoność, istnieje zarówno + jak i NaN symbol nieoznaczony, (Not a Number) Arytmetyka IEEE 754 wartości specjalne Po lewej stronie: 1.0/0.0 Inf 1.0/0.0 -Inf 0.0/0.0 NaN Po prawej stronie!!: x =Inf y =NaN x y NaN

Arytmetyka liczb zmiennoprzecinkowych Skończona ilość bitów reprezentacji powoduje, że możemy jedynie reprezentować skończoną liczbę wartości. Skutki: Rozdzielność mnożenia względem dodawania (odejmowania): ( 4 3 1) 3 1 = 4 3 3 3 Punkt przecięcia dwu prostych może nie należeć do żadnej z nich. Dwie proste równoległe mogą się przecinać. { 1x + 3y = 6 1 3 x + 1y = 5