INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa.

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

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

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

Techniki multimedialne

Technologie Informacyjne

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

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

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

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

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

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

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

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

Arytmetyka komputera

Podstawy Informatyki dla Nauczyciela

Kodowanie informacji. Przygotował: Ryszard Kijanka

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

Architektura systemów komputerowych Laboratorium 5 Kodowanie liczb i tekstów

PODSTAWY INFORMATYKI. Informatyka? - definicja

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

Teoretyczne Podstawy Informatyki

Podstawy Informatyki

L6.1 Systemy liczenia stosowane w informatyce

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

Arytmetyka binarna - wykład 6

Naturalny kod binarny (NKB)

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

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

Architektura komputerów

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

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

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

Dodatek do Wykładu 01: Kodowanie liczb w komputerze

1.1. Pozycyjne systemy liczbowe

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

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

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

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

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

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

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

Pracownia Komputerowa wyk ad VII

Podstawy informatyki. Reprezentacja danych w systemach cyfrowych

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

Kodowanie informacji. Kody liczbowe

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

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

Metoda znak-moduł (ZM)

Systemy zapisu liczb.

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

Architektura komputerów

Pracownia Komputerowa wykład VI

Wstęp do Informatyki

Wstęp do informatyki- wykład 1

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie:

DZIESIĘTNY SYSTEM LICZBOWY

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

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

Cyfrowy zapis informacji. 5 grudnia 2013 Wojciech Kucewicz 2

ARCHITEKTURA KOMPUTERÓW Liczby zmiennoprzecinkowe

Pracownia Komputerowa wykład IV

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

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

Kod U2 Opracował: Andrzej Nowak

Architektura komputerów

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

Pracownia Komputerowa wykład V

Programowanie Niskopoziomowe

LICZBY ZMIENNOPRZECINKOWE

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

Stan wysoki (H) i stan niski (L)

Reprezentacja stałoprzecinkowa. Reprezentacja zmiennoprzecinkowa zapis zmiennoprzecinkowy liczby rzeczywistej

Pracownia Komputerowa wyk ad VI

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

Podstawy Informatyki

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

Technika Cyfrowa i Mikroprocesorowa

Systemy liczbowe używane w technice komputerowej

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

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

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

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

Operacje arytmetyczne

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

Podstawy informatyki (2)

System liczbowy jest zbiorem reguł określających jednolity sposób zapisu i nazewnictwa liczb.

Systemy kodowania. Jolanta Bachan

Wydział Mechaniczny. Instrukcja do zajęć laboratoryjnych

Sposób reprezentacji informacji w systemie. Reprezentacja informacji. Dzięki kodowaniu informacji.

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

Cyfrowy zapis informacji

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE

Pracownia Komputerowa wyk ad IV

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

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

Pozycyjny system liczbowy

Architektura systemów komputerowych

Technologie Informacyjne Wykład 4

Moduł 2 Zastosowanie systemów liczbowych w informacji cyfrowej

Jednostki informacji - bit. Kodowanie znaków: ASCII, ISO 8859, Unicode liczb: NKB (BCN), U2, BCD. Liczby zmiennoprzecinkowe standard IEEE 754

Transkrypt:

INFORMATYKA Zajęcia organizacyjne Arytmetyka komputerowa http://www.infoceram.agh.edu.pl http://home.agh.edu.pl/~grzesik/

KONSULTACJE Zbigniew Grzesik środa, 9 ; A-3, p. 2 tel.: 67-249 e-mail: grzesik@agh.edu.pl

OSOBY PROWADZĄCE ZAJĘCIA Wykłady: Prof. dr hab. inż. Zbigniew Grzesik Ćwiczenia: Dr inż. Grzegorz Smoła Mgr inż. Wojciech Skibiński Mgr inż. Mirosław Stygar

ORGANIZACJA ZAJĘĆ Wykład: 5h, tj. 2h lekcyjne przez.5 semestru Ćwiczenia: nieobecność nieusprawiedliwiona kolokwia Egzamin: egzamin pisemny + ewentualnie część ustna termin zerowy na prawach I terminu

TEMATYKA WYKŁADÓW Arytmetyka komputerowa Algorytmy Pseudo kod Schematy blokowe Struktury danych Języki programowania VBA

LITERATURA PODSTAWOWA I UZUPEŁNIAJĄCA http://www.infoceram.agh.edu.pl Wirth N., Algorytmy + struktury danych = programy Cormen T. Leiserson C. Rivest R., Wprowadzenie do algorytmów Knuth D., Sztuka Programowania, tom I, II, III Wróblewski P., Algorytmy, struktury danych i techniki programowania David Bourg, Excel w nauce i technice. Receptury, Helion 26 D. A. McQuarrie, Matematyka dla Przyrodników i Inżynierów, tomy -3, PWN Warszawa 26.

ARYTMETYKA KOMPUTEROWA - kodowanie liczb w komputerze

DEFINICJA Informatyka: ogół dyscyplin naukowych i technicznych zajmujących się informacją, a w szczególności jej komputerowym przetwarzaniem. Zakres: teorie informatyczne budowanie systemów informacyjnych, w tym programowanie budowanie i działanie sprzętu informatycznego zastosowanie metod informatycznych w różnych dziedzinach działalności ludzkiej

Podstawowe operacje maszyny cyfrowej Wszystkie informacje przetwarzane przez maszyny cyfrowe (komputery) muszą być odpowiednio zakodowane. Z powodów technicznych najwygodniej jest je przedstawiać w postaci ciągów podstawowych jednostek informacji (bitów), mogących przyjmować jeden z dwu stanów, zwyczajowo oznaczanych jako i. Bit najmniejsza jednostka informacji, może przyjmować jedną z dwóch wartości (znajdować się w jednym z dwóch stanów): lub. Bajt = 8 bitów (oktet) pojedyncze słowo = 6 bitów Kb (kilobajt) = 24 bajty Mb (megabajt) = 24 kilobajty

Architektura systemu komputerowego Pamięć komputera złożona jest z szeregu pogrupowanych w porcje bitów (np. w przypadku komputera z ośmiobitowym procesorem zgrupowanych jest po osiem bitów). Jedne z najwcześniejszych procesorów firmy Intel z 974 r. (88 i 88) były ośmiobitowe. Fragment ich pamięci można zilustrować w następujący sposób:

Podstawowe operacje maszyny cyfrowej Każda maszyna cyfrowa może wykonywać bezpośrednio tylko niewielką liczbę operacji: przerzucenie bitu zmienia wartość bitu wyzerowanie bitu przypisanie wartości sprawdzenie bitu wykonuje pewną czynność jeśli bit jest w stanie, a inną jeśli w stanie. Przerzuć ten bit Wyzeruj ten bit Przerzucenie Wyzerowanie Jeśli ten bit jest w stanie, przerzuć ten bit Sprawdzenie

Kodowanie podstawowych pojęć w komputerze Efektywne przetwarzanie danych, np. przy użyciu tzw. języków programowania stosowanych do pisania odpowiednich programów, wymaga możliwości używania szeregu abstrakcyjnych pojęć, takich jak liczby całkowite, liczby wymierne (z częścią po przecinku dziesiętnym ), znaki tekstowe. Wszystkie te obiekty muszą być jednak zapamiętane w postaci ciągów zer i jedynek.

Kodowanie liczb w komputerze Pomimo, iż z czysto matematycznego punktu widzenia zbiór liczb wymiernych stanowi rozszerzenie zbioru liczb całkowitych, to w informatyce stosowane są zupełnie inne sposoby kodowania dla liczb całkowitych i liczb wymiernych. Z powodów technicznych używa się podziału na dwa typy liczb: liczby stałoprzecinkowe i liczby zmiennoprzecinkowe.

Kodowanie liczb całkowitych Liczby są kodowane w komputerach przy użyciu tzw. naturalnego kodu binarnego (NKB). Jest to kod o strukturze analogicznej do tej, stosowanej w życiu codziennym do zapisu liczb w tzw. systemie dziesiętnym, tj. systemie pozycyjnym o podstawie.

Kodowanie liczb System pozycyjny: metoda zapisywania liczb w taki sposób, że w zależności od pozycji danej cyfry w ciągu, oznacza ona wielokrotność potęgi pewnej liczby uznawanej za bazę danego systemu. Powszechnie używa się systemu dziesiętnego, w którym za bazę przyjmuje się liczbę dziesięć. Tym samym napis 946532 oznacza: Przykład liczby w systemie dwójkowym:

Przeliczanie liczb z systemu dziesiętnego na dwójkowy 524 ( )2 524 ( ) 2 524 262 262 3 3 65 65 32 32 6 6 8 8 4 4 2 2 Sprawdzenie: ( ) 2 2 2 2 2 23 2 4 25 26 27 28 29 4 8 52 524

Kodowanie ujemnych liczb całkowitych kod U 52 ( )2 52 ( ) 2 52 26 26 3 3 6 6 3 3 Sprawdzenie: ( ) 2 2 2 2 2 23 2 4 25 4 6 32 52

Kod U 52 ( )2 52 ( ) 2 Jednym ze stosowanych rozwiązań jest wprowadzenie tzw. bitu znaku: jest to pierwszy bit (licząc od lewej strony) w danym ciągu bitów (np. w ciągu ośmiu bitów dla procesorów ośmiobitowych), który nie informuje o wartości, lecz o znaku: oznacza (minus) oznacza + (plus). Taki sposób kodowania liczb ujemnych nazywany jest kodem uzupełnień do jeden (U). Tak więc: 52 ( ) 2

Kod U Należy podkreślić, iż ciąg znaków jedynie w kodzie U oznacza liczbę -52, gdyż w kodzie NKB oznacza on liczbę 8. Warto też zwrócić uwagę, iż liczbę (zero) można przedstawić w kodzie U na dwa różne sposoby: ()U = - = ()U = + =

Kod U Kod U pomimo swej prostoty nie jest używany w praktyce, z powodu trudności z wykonywaniem operacji dodawania, czy mnożenia na liczbach zapisanych tym kodem. W celu dodania dwu liczb (np. -24 + 6) nie wystarczy zwykła suma bitowa z przeniesieniem: -24 2-36 Uzyskany wynik dodawania bitowego z przeniesieniem jest błędny, co oznacza że w przypadku liczb ujemnych kodowanych w systemie U należałoby wykorzystać bardziej skomplikowane algorytmy (zrealizowane sprzętowo lub programowo).

Kodowanie ujemnych liczb całkowitych kod U2 Ciąg zer i jedynek o długości n zakodowanych w kodzie U2 oznacza liczbę, której wartość jest następująca: ( xn xn 2...x x )U 2 xn 2 n xn 2 2n 2... x 2 x 2. a zatem: Zalety kodu U2: jednoznaczna reprezentacja liczby łatwa realizacja dodawania i odejmowania

Przykłady liczb zakodowanych kodem U2 Wartości tych liczb: ()U 2 27 26 25 2 4 23 2 2 2 2 28 64 6 8 39. 4 ()U 2 27 26 2 5 2 23 2 2 2 2 8 4 2 4. Liczby ujemne w kodzie U2 mają na pierwszej (od lewej) pozycji. Liczby dodatnie w kodzie U2 mają na pierwszej (od lewej) pozycji.

Podstawowe własności kodu uzupełnień U2

Dodawanie dwóch liczb zapisanych w kodzie U2 Dodawanie dwóch liczb zapisanych w kodzie U2 (np. -24 + 6) można wykonać wykonując zwykłe dodawanie binarne z przeniesieniem. -24 2-2

Kodowanie liczb rzeczywistych x S M B S znak M mantysa B podstawa systemu E cecha, wykładnik C

Kodowanie liczb rzeczywistych w układzie dziesiętnym Liczby zmiennoprzecinkowe x S M Przykład: C, M Przyjmijmy, że B =, liczba cyfr dziesiętnych przeznaczonych na mantysę wynosi 4, natomiast na cechę (wykładnik) 2. Chcemy zapisać wartość 54,25367. Pierwszy etap to normalizacja mantysy, sytuacja przedstawia się następująco: M=54,25367; C=. Mantysa M nie należy do zadanego przedziału [,;), zatem należy przesuwać przecinek w lewo do chwili, aż wartość M będzie doń należała. Przesuwanie przecinka w lewo wiąże się ze zwiększaniem C. Po normalizacji (przesunięciu przecinka o 2 pozycje w lewo) otrzymujemy: M=,5425367, C=2 Ostatnim krokiem jest odpowiednie obcięcie (ang. truncate), albo zaokrąglenie (ang. round) mantysy do zadanej ilości cyfr.

Kodowanie liczb rzeczywistych w układzie dwójkowym Liczby zmiennoprzecinkowe x S M 2 2 M C

Kodowanie liczb w komputerze Liczby zmiennoprzecinkowe Wartość liczby zmiennoprzecinkowej C x S M B S znak M mantysa B podstawa systemu C cecha, wykładnik

Kodowanie znaków w komputerze Zestaw znaków to zestawienie znaków pisma z odpowiadającymi im kodami liczbowymi. Zestawienie takie można następnie wykorzystać do przekształcenia tekstu na postać cyfrową, w szczególności w komputerze. Historycznie, istniało wiele różnych zestawów znaków. Przykłady: ASCII Base32 Base64 EBCDIC ISO 8859-2 JIS KOI8-R Szesnastkowy system liczbowy (Base6) Unicode Obecnie powszechny we wszystkich nowoczesnych aplikacjach i systemach operacyjnych jest międzynarodowy standard Unicode (najczęściej w połączeniu z kodowaniem UTF-8), zdolny przedstawić wszystkie pisma świata.

Kodowanie znaków w komputerze ASCII (ang. American Standard Code for Information Interchange) 7bitowy kod przyporządkowujący liczby z zakresu -27: literom (alfabetu angielskiego), cyfrom, znakom przestankowym i innym symbolom oraz poleceniom sterującym. Na przykład litera "a" jest kodowana liczbą 97, a znak spacji jest kodowany liczbą 32. Litery, cyfry oraz inne znaki drukowane tworzą zbiór znaków ASCII. Jest to 95 znaków o kodach 32-26. Pozostałe 33 kody (-3 i 27) to tzw. kody sterujące służące do sterowania urządzeniem odbierającym komunikaty, np. drukarką czy terminalem.

KONIEC