WYKŁAD 2 Temat: Reprezentacja danych 1. Reprezentacja danych

Slides:



Advertisements
Podobne prezentacje
Tablice 1. Deklaracja tablicy
Advertisements

Jednostki informacji i kodowanie znaków
PRZEDSTAWIANIE INFORMACJI W KOMPUTERZE
Użytkowanie Sieci Marcin KORZEB WSTI - Użytkowanie Sieci.
DYSKRETYZACJA SYGNAŁU
Reprezentacja danych w komputerze
dr A Kwiatkowska Instytut Informatyki
Architektura szynowa systemu mikroprocesorowego szyna danych szyna sterująca szyna adresowa µP szyna danych szyna adresowa D7,..., D1, D0 A15,..., A1,
Liczby w Komputerze Zajęcia 3.
Architektura Systemów Komputerowych
Przetwarzanie informacji
B. znaki alfabetu D. obrazy
SYSTEMY LICZBOWE.
Liczby całkowite.
dr Anna Kwiatkowska Instytut Informatyki
Zapis informacji Dr Anna Kwiatkowska.
Temat 3: Co to znaczy, że komputer ma pamięć? Czy można ją zmierzyć?
Reprezentacje - zmiennoprzecinkowa
SYSTEMY LICZBOWE Rodzaje informacji (analogowe i cyfrowe)
Systemy liczbowe.
Kod Graya.
Technika Mikroprocesorowa 1
Technika Mikroprocesorowa 1
opracowanie: Agata Idczak
UKŁADY LICZENIA SYSTEMY LICZBOWE
Podstawy układów logicznych
Informatyka I Język ANSI C
Warsztaty programowania w języku Python
Cyfrowe układy logiczne
ZASADY PODZIAŁU SIECI NA PODSIECI, OBLICZANIA ADRESÓW PODSIECI,
Jednostki w informatyce i system binarny (dwójkowy)
od systemu dziesiętnego do szesnastkowego
System dwójkowy (binarny)
Jak to jest zrobione? Kalkulator.
Informatyka I Wykład 4 Stałe Stałe liczbowe Stałe znakowe Stałe tekstowe Jerzy Kotowski Politechnika Wroclawska var = 5L - 0xA; -5.
Systemy liczbowe.
Systemy Liczenia - I Przez system liczbowy rozumiemy sposób zapisywania i nazywania liczb. Rozróżniamy: pozycyjne systemy liczbowe i addytywne systemy.
Jednostki używane w informatyce
Liczby całkowite dodatnie BCN
Systemy Liczbowe (technika cyfrowa)
Posługiwanie się systemami liczenia
Podstawy informatyki 2013/2014
Stało- i zmiennopozycyjna reprezentacja liczb binarnych
URZĄDZENIA TECHNIKI KOMPUTEROWEJ
Matematyka i system dwójkowy
Systemy operacyjne i sieci komputerowe
Systemy operacyjne i sieci komputerowe
Złożone układy kombinacyjne
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Temat 4: Typy danych.
Programowanie Niskopoziomowe
WYKŁAD 3 Temat: Arytmetyka binarna 1. Arytmetyka binarna 1.1. Nadmiar
Dwójkowy system liczbowy
T. 3. Arytmetyka komputera. Sygnał cyfrowy, analogowy
1 Prowadzący: Dr inż. Sławomir Samolej D102 C, tel: , WWW: ssamolej.prz-rzeszow.pl INFORMATYKA.
Danuta Stanek KODOWANIE LICZB Systemy liczenia III.
Podstawy Techniki Cyfrowej
Systemy liczenia IV Kodowanie i kody Danuta Stanek.
Zasady arytmetyki dwójkowej
METODY REPREZENTOWANIA IFORMACJI
K ODY ZMIENNEJ DŁUGOŚCI Alfabet Morsa Kody Huffmana.
INFORMATYKA Zajęcia organizacyjne Arytmetyka komputerowa
URZĄDZENIA TECHNIKI KOMPUTEROWEJ Zapis liczb binarnych ze znakiem.
Zmienne typy danych w VBA. MS Excel – typy danych w języku programowania VBA.
Copyright 2009 © by Michał Szymański. Systemy liczbowe można porównać do języków świata. Tak jak jedno słowo można przedstawić w wielu różnych językach,
Elementy cyfrowe i układy logiczne
Podstawy Informatyki.
Technika Mikroprocesorowa 1
Wstęp do Informatyki - Wykład 6
Zapis prezentacji:

WYKŁAD 2 Temat: Reprezentacja danych 1. Reprezentacja danych 2. Kodowanie 2.1. Kody binarne 2.2. Kod ASCII 3. Systemy liczbowe 3.1. System dziesiętny 3.2. System dwójkowy 3.3. System szesnastkowy 4. Liczby ujemne 4.1. System kodowania znak – moduł 4.2. Kod uzupełnień do dwóch (KU2)

1. Reprezentacja danych Z powodu dwustanowej natury bramek logicznych naturalną metodą kodowania wewnątrz komputera jest użycie cyfr 0 i 1. 0 i 1 są to cyfry binarne  binary digit  bit Za pomocą bitów (poziomów napięć) opisywane są wszystkie informacje w komputerze. Komputery przechowują i przetwarzają informację korzystając z grup bitów zwanych słowami np. 10110011 bit najbardziej znaczący bit najmniej znaczący most significant bit - MSB least significant bit - LSB

Długość słowa może być dowolna Długość słowa może być dowolna. W praktyce stosuje się pewne długości standardowe, będące wielokrotnością 8 bitów. 8 bitów  bajt 16 bitów  2 bajty 32 bitów  4 bajty 64 bitów  8 bajtów 128 bitów  16 bajtów Bajty są też również podstawową jednostką do opisywania pojemności pamięci 210 kilo K 1024 220 mega M 1024 x 1024 230 giga G 1024 x 1024 x 1024  kB  1024 bajty MB  1048576 bajty GB  1073741824 bajty

2. Kodowanie Układ cyfrowy służy do przetwarzania informacji - ale ze swojej natury przetwarza wyłącznie sygnały binarne. Język zewnętrzny - język sygnałów binarnych 0, 1 Jest problem jak przekształcić informację z języka zewnętrznego na język sygnałów binarnych. Język zewnętrzny UC - język sygnałów binarnych 0, 1

Przypisujemy elementarnym wiadomością ciągi symboli dwuwartościowych kodowanie konwersja kodu dekodowanie Przypisanie elementom alfabetu zewnętrznego ciągów binarnych nazywa się kodowaniem, a czynność odwrotną dekodowaniem. Najpopularniejszymi alfabetami zewnętrznymi układów cyfrowych są różnego typu alfabety liczbowe ( liczb naturalnych, całkowitych, rzeczywistych itp.,) Elementarna wiadomość Symbol binarny I Symbol binarny II

2.1. Kody binarne W przypadku słowa n-bitowego istnieje 2n kombinacji bitów, które można wykorzystać do kodowania informacji, np.: Dla n = 2 istnieją 22 = 4 możliwe kombinacje 00 01 10 11 Każdej z tych kombinacji można przypisać jakieś znaczenie np.: 00 - północ, 01 - południe, 10 - wschód, 11 - zachód Do kodowania liter używa się kodu ASCII

2.2. Kod ASCII Kod ASCII ( American Standard Code for Information Interchange  Standadowy Amerykański Kod Wymiany Informacji) Jest siedmiobitowym kodem wprowadzonym do oznaczenia zestawu 128 różnych symboli potrzebnych do wymiany informacji pomiędzy komputerami. Do symboli należą: znaki alfanumeryczne  litery A - Z, a - z,  cyfry 0 - 9,  symbole specjalne ( +, -, ~, %, !, $, &, itp.)  znaki sterujące takie jak: przesuw wiersza, powrót karetki, (znaki niedrukowalne).

A  1 0 0 0 0 0 1 z  1 1 1 1 0 1 0 %  0 1 0 0 1 0 1 Kody od 128 do 255 przypisane są w różny sposób zależny od kraju. W rozszerzonym do 8 bitów kodzie Extended ASCII (USA) znajdują się:  niektóre znaki matematyczne jak  ,  symbole np. ,  ważne w przeszłości znaki symulujące na monitorach elementy grafiki takie jak np. 

STRONA KODOWA - (CODE PAGE) Strona kodowa (CP) to: zestaw rozszerzonych znaków ASCII (kody od 128 do 255) zawierający znaki narodowe (np. polskie litery); informacja o narodowym sposobie zapisu waluty, daty i czasu oraz separatorów dziesiętnych i tysięcznych; klawiatura narodowa. Międzynarodowa organizacja normalizacyjna ISO stworzyła szereg stron kodowych dla krajów Europy Wschodniej, Rosji (cyrylica), krajów Dalekiego Wschodu (Japonia, Korea). Normy są znane powszechnie pod nazwą ISO-8859-x, gdzie x jest cyfrą od 1 do 10. Europa Wschodnia, łącznie z Polską dostała numer 2. Jesteśmy ZOBOWIĄZANI stosować normę ISO-8859-2.

Firma Microsoft w swoim oprogramowaniu stosuje norrmę amerykańską ANSI. W Polsce "współżyją" więc następujące strony kodowe i standardy polskich liter: standard ustanowiony przez PN-93/T-42118 zgodną z międzynarodową normą ISO 8859-2; zgodnie z prawem ten standard jest obowiązujący w Polsce! popularna strona kodowa CP 852 (standard polskich znaków zawarty w niej określany jest nazwą Latin II) jest stosowana w MS-DOS; jej stosowanie zanika wraz z zanikiem DOSu; równie popularna, z konieczności, strona kodowa - standard polskich liter - CP 1250 stosowana w Windows; Inne standardy polskich liter to wciąż istniejąca w DOS Mazovia i zapominane DHN, CSK, Microvex, Cyfromat.

UNICODE (UCS-4) - kod uniwersalny Unicode jest sposobem kodowania obejmującym znaki używane na całym świecie w tym wielu, jeżeli wręcz nie wszystkich, krajów (np. polskie, hieroglify czy cyrylicę), symbole muzyczne, techniczne, wymowy i inne często spotykane. W odróżnieniu od dotychczas używanych sposobów, kod numeryczny jednoznacznie identyfikuje symbol. Pełny Unikod jest standardem 32-bitowym (UCS-4). 4 294 967 295 znaków. Aktualnie używane jest jednak tylko 16 bitów. 65 535 znaków.

Unikod jest obsługiwany przez dwa najczęściej stosowane pakiety oprogramowania firm Netscape Communications oraz Microsoft. Internet Explorer (MS) oraz Netscape Communicator oba w wersjach 4.0 i wyższych. Obejmuje to obsługę poczty, grup dyskusyjnych, WWW (czytanie i edycja). W Internecie stosuje się ogonki wg normy ISO, ale programy do tworzenia stron WWW pochodzą z firmy Microsoft,  mamy de facto dwa standardy ogonków na stronach. Stosowane są więc programy konwertujące tekst w jednym standardzie na drugi. Przeglądarki internetowe, takie jak Netscape i Internet Explorator, po znaczniku zawartym w kodzie strony, orientują się jaki standard zastosował autor i automatycznie pokazują ogonki prawidłowo

3. Systemy liczbowe We współczesnych językach programowania każda  stała  zmienna  wyrażenie  funkcja są określonego typu. Typ danych wyznacza: A/ skończony zbiór wartości B/ zbiór operacji jakie można wykonać na elementach zbioru wartości. Np. wśród skalarnych typów danych rozróżnia się między innymi:  typ integer  typ real

W systemach cyfrowych najbardziej powszechne zastosowanie znalazły następujące systemy liczbowe: A/ system dwójkowy (binarny) B/ system ósemkowy (oktalny) C/ system dziesiętny (decymalny) D/ system szesnastkowy (heksadecymalny - heksagonalny). Przyjęty system liczbowy powinien umożliwiać: A/ proste i jednoznaczne przedstawienie liczb z interesującego zakresu, B/ proste wykonywanie działań na liczbach, C/ łatwość techniczną realizacji systemu

Ogół zasad umożliwiających przedstawienie liczb za pomocą umownych znaków przyjęto nazywać systemem liczbowym, a znaki za pomocą których zapisuje się liczby - cyframi. Wśród systemów liczbowych wyróżnia się: A/ systemy pozycyjne B/ systemy nie pozycyjne Ad a/ znaczenie cyfry jest zależne od miejsca (pozycji), które ona zajmuje w liczbie. Np. system dziesiętny  12810 Ad b/ znaczenie cyfry jest niezależne od miejsca położenia w zapisie liczby. Np. system rzymski, operuje znakami: I = 1, V = 5, X = 10, L = 50, C = 100, D = 500, M = 1000 Np. MCMXCVIII  1998

3.1. System dziesiętny Liczby dziesiętne oznaczamy ciągami cyfr ze zbioru { 0, l, 2, 3, 4, 5, 6, 7, 8, 9}. Oznaczając liczby większe od 9, stosujemy kombinację cyfr przypisując każdej z nich wartości wynikające z rzędu. Rząd zależy od pozycji cyfry w ciągu np.: 42510 = 4*102 + 2*101 +5*100 n - ta cyfra ma przypisany rząd +10n-1 Dla liczb ułamkowych 52,6 = 5*101 + 2*100 + 6*10-1 Poszczególne wagi w systemie dziesiętnym są potęgami liczby 10, dlatego jest ona zwana podstawą tego systemu (p = 10).

3.2. System dwójkowy W binarnym systemie liczbowym wykorzystuje się tylko dwie cyfry { 0, 1}. Podstawą systemu jest 2. Np. 10112  1*23 + 0*22 + 1*21+ 1*20 = 8 + 0 + 2 + 1 = 1110 510  1*22 + 0*21 + 1*20 = 4 + 1 = 510 W systemie n-ty bit liczby ma przypisany rząd +2n-1 0 0 0  0 0 0 1  1 0 1 0  2 0 1 1  3 1 0 0  4 1 0 1  5 1 1 0  6 1 1 1  7

3.3. System szesnastkowy Stosuje się 16 symboli do oznaczenia cyfr { 0, l, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}. Podstawa systemu jest 16. A1F16  A*162 + 1*161 + F*160 = 10*256 + 1*16 + 15*1 = 259110 Łatwe przejście z systemu binarnego np.: 1011001110102 = 1011 0011 1010 = B3A16 1111 F 0111 7 1110 E 0110 6 1101 D 0101 5 1100 C 0100 4 1011 B 0011 3 1010 A 0010 2 1001 9 0001 1 1000 8 0000 Liczba binarna Cyfra hex

4. Liczby ujemne W opisanym systemie binarnym nie ma możliwości zapisu liczb ujemnych.  System ten jest nazywany systemem dwójkowym bez znaku. Aby umożliwić zapis liczb ujemnych konieczna jest jego modyfikacja. Można podać przykładowo dwie główne metody takiej modyfikacji: A/ znak - moduł B/ kod uzupełnień do dwóch - KU2

4.1. System kodowania znak - moduł Skrajny lewy bit oznacza znak liczby, a pozostałe bity oznaczają wartość bezwzględną ( moduł) liczby.  liczba dodatnia „0”  liczba ujemna „1” np. dla 8 bitów: - 510  1 0 0 0 0 1 0 1 + 2010  0 0 0 1 0 1 0 0

Przyjęcie takiego systemu zapisu liczb komplikuje operacje binarne dodawania i odejmowania, które są wykonywane w jednostce arytmetyczno - logicznej, ponieważ  trzeba skontrolować bity znaku  wydzielić moduły  dodać moduły (odjąć)  dodać odpowiedni bit znaku Operacje te zwiększają poziom złożoności ALU oraz wydłużają czas potrzebny na wykonanie operacji arytmetycznych.

4.2. Kod uzupełnień do dwóch (KU2) Znak nie jest oddzielony od wartości liczby, a „ujemność” jest wbudowana w metodę zapisu.  najbardziej znaczący bit ma liczby n-bitowej ma przypisany rząd –2n-1. Przy zastosowaniu 8 bitowej liczby otrzymuje się zakres +12710 do -12810. Interpretacja graficzna dodatnie +1 +127 10000001 = -128 + 1 = - 127 01111111 = - 0 + 127 = + 127 -0 -128 ujemne

W notacji uzupełnień do dwóch każda liczba, której najbardziej znaczący bit jest jedynką , musi być liczbą ujemną. Dla ośmiu bitów mamy przedział dla liczb całkowitych: 0 1 1 1 1 1 1 1 +127 ...... …… 0 0 0 0 0 0 1 0 +2 0 0 0 0 0 0 0 1 +1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 - 1 1 1 1 1 1 1 1 0 - 2 1 0 0 0 0 0 0 0 - 128

Kodowanie liczb ujemnych w kodzie KU2 Np. – 2 10  1 krok + 2 10  0 0 0 0 0 0 1 0  2 krok zmieniamy 1  0 i 0  1 1 1 1 1 1 1 0 1  3 krok dodajemy 1 do najmniej znaczącego bitu + 1 1 1 1 1 1 1 1 0