Programowanie Niskopoziomowe

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

Techniki multimedialne

SYSTEMY LICZBOWE 275,538 =

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

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

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

Stan wysoki (H) i stan niski (L)

1.1. Pozycyjne systemy liczbowe

L6.1 Systemy liczenia stosowane w informatyce

Kod U2 Opracował: Andrzej Nowak

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

Pracownia Komputerowa wykład V

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

Pracownia Komputerowa wykład VI

Systemy zapisu liczb.

Architektura komputerów

Podstawy Informatyki dla Nauczyciela

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

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

Technika Cyfrowa i Mikroprocesorowa

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE

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

System Liczbowe. Szesnastkowy ( heksadecymalny)

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

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

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

Zapis liczb binarnych ze znakiem

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

Moduł 2 Zastosowanie systemów liczbowych w informacji cyfrowej

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

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

Technologie Informacyjne

Wstęp do informatyki- wykład 1

Pracownia Komputerowa wyk ad VI

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa.

Cyfrowy zapis informacji. 5 grudnia 2013 Wojciech Kucewicz 2

Arytmetyka liczb binarnych

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

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

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

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

Podstawy Informatyki

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

Pracownia Komputerowa wykład IV

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

DZIESIĘTNY SYSTEM LICZBOWY

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

Teoretyczne Podstawy Informatyki

Pracownia Komputerowa wyk ad V

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

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

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

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

Mikrokontrolery w mechatronice. Wstępne uwagi

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

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011

Wstęp do informatyki- wykład 2

Cyfrowy zapis informacji

Wykład 2. Informatyka Stosowana. 8 października 2018, M. A-B. Informatyka Stosowana Wykład 2 8 października 2018, M. A-B 1 / 41

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

KARTA MODUŁU KSZTAŁCENIA

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

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

Jednostki miar stosowane w sieciach komputerowych. mgr inż. Krzysztof Szałajko

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

Pracownia Komputerowa wyk ad IV

Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach

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

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

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

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

Pracownia Komputerowa wyk ad VII

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

ARCHITEKTURA KOMPUTERÓW Liczby zmiennoprzecinkowe

Kodowanie informacji. Kody liczbowe

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Algorytmy i struktury danych

Systemy liczbowe używane w technice komputerowej

Tranzystor JFET i MOSFET zas. działania

Podstawy Systemów Liczbowych

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

Architektura systemów komputerowych. Poziom układów logicznych. Układy mnoŝące i dzielące

Plan wyk ladu. Kodowanie informacji. Systemy addytywne. Definicja i klasyfikacja. Systemy liczbowe. prof. dr hab. inż.

Pracownia komputerowa. Dariusz Wardecki, wyk. V

1. Operacje logiczne A B A OR B

Wstęp do Informatyki

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

Kodowanie informacji. Przygotował: Ryszard Kijanka

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...

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

Plan wykładu. Architektura systemów komputerowych. MnoŜenie realizacja sprzętowa (wersja 1) Układy mnoŝące liczby całkowite.

PODSTAWY INFORMATYKI. Informatyka? - definicja

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

Struktura i działanie jednostki centralnej

Dr inż. Jan Chudzikiewicz Pokój 117/65 Tel Materiały:

Wielkość analogowa w danym przedziale swojej zmienności przyjmuje nieskończoną liczbę wartości.

Transkrypt:

Programowanie Niskopoziomowe Wykład 2: Reprezentacja danych Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie

Plan Kilka ciekawostek Zapisy binarny, oktalny, decymalny i heksadecymalny Algebra Boole a

Pierwsze komputery

Pierwsze narzędzia programistyczne

Pierwsze komputery osobiste

Pierwszy komputer klasy PC IBM PC XT Procesor Intel 8086 786 kb RAM 20 MB HDD Drukarka 9-igłowa

Interfejs użytkownika w latach 1990-tych

Współczesne GUI

To też są komputery

Maszyna wirtualna High-Level Language Assembly Language Operating System Instruction Set Architecture Microarchitecture Digital Logic Level 5 Level 4 Level 3 Level 2 Level 1 Level 0 Poziom 5 języki zorientowane aplikacyjnie, programy kompilowane do postaci asemblerowej Poziom 4 Instrukcje odpowiadają jednoznacznie (1 do 1) instrukcjom języka maszynowego, wywoływane funkcje na poziomie systemu operacyjnego (poziom 3), programy translowane do języka maszynowego Poziom 3 udostępnia usługi, program translowany na poziomie ISA (poziom 2) Poziom 2 poziom języka maszynowego, wykonywany przez program z poziomu 1 Poziom 1 poziom mikroarchitektury, interpretuje instrukcje języka maszynowego (poziom 2) na poziomie logiki sprzętowej (poziom 0) Poziom 0 poziom elektronicznych układów cyfrowych (CPU, PAO, szyna)

Reprezentacja danych Dwa stany fizyczne: niskiego i wyższego napięcia 3.3V 0 1 0 2.8V 0.5V 0.0V Logiczna interpretacja: 0 i 1 Systemy: binarny, oktalny, decymalny i heksadecymalny

Liczby binarne Alfabet dwuznakowy: 0 i 1 Każda liczba binarna składa się z jednej lub więcej cyfr tzw. bitów Bity numerowane są po kolei od 0 począwszy od prawej strony (najmniej znaczący bit) do lewej (najbardziej znaczący bit). Przykład liczby 16 bitowej: MSB LSB 1 0 1 1 0 0 1 0 1 0 0 1 1 1 0 0 15 0

Liczby binarne, oktalne, decymalne i heksadecymalne System Podstawa Alfabet Binarny 2 0 1 Oktalny 8 0 1 2 3 4 5 6 7 Decymalny 10 0 1 2 3 4 5 6 7 8 9 Heksadecymalny 16 0 1 2 3 4 5 6 7 8 9 A B C D E F

Liczby binarne ze znakiem i bez Liczby binarne mogą reprezentować liczby całkowite: bez znaku lub ze znakiem Liczby bez znaku są z definicji dodatnie Liczby ze znakiem mogą być dodatnie lub ujemne Zero uznawane jest za liczbę dodatnią

Liczby binarne bez znaku 1 1 1 1 1 1 1 1 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 Wartości dziesiętne poszczególnych bitów 0 1 2 3 4 5 6 7 8 9 1 2 4 8 16 32 64 128 256 512 10 11 12 13 14 15 1024 2048 4096 8192 16384 32768

Translacje między systemem binarnym a systemem dziesiętnym Liczba_dziesiętna = =(B n-1 2 n-1 )+(B n-2 2 n-2 )+ +(B 1 2 1 )+(B 0 2 0 ) Translacja liczby dziesiętnej do liczby binarnej polega na dzieleniu tej liczby przez 2 i zapisywaniu reszty z tego dzielenia jako kolejnych bitów liczby binarnej począwszy od bitu najmniej znaczącego.

Przykłady binarne 00001001 = decymalna 9: (1 2 3 ) + (1 2 0 ) = 9 decymalne 37 to 100101 binarnie

Dodawanie liczb binarnych Dodawanie poszczególnych cyfr: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 Przykład dodawania liczb ośmiobitowych Przeniesienie: 1 0 0 0 0 0 1 0 0 (4) + 0 0 0 0 0 1 1 0 (6) 0 0 0 0 1 0 1 0 (10) Dodawanie liczby 1111.1111 oraz 0000.0001 daje w wyniku 1.0000.0000 lecz jeśli mamy do dyspozycji tylko 8 bitów to wynik będzie 0000.0000

Rozmiary przechowywanych danych bajt 8 słowo 16 podwójne słowo 32 poczwórne słowo 64

Liczby heksadecymalne Stosowane ze względu na nieporęczność zapisu binarnego

Translacja binarna-heksadecymalna Każda cyfra heksadecymalna to 4 cyfry binarne Przykład: translacja liczby binarnej 0001.0110.1010.0111.1001.0100 na liczbę heksadecymalną: 1 6 A 7 9 4 0001 0110 1010 0111 1001 0100

Konwersja z heksadecymalnej na dziesiętną Mnożenie każdej cyfry przez odpowiadającą jej potęgę 16: dec = (H 3 16 3 ) + (H 2 16 2 ) + (H 1 16 1 ) + (H 0 16 0 ) 1234 h (1 16 3 ) + (2 16 2 ) + (3 16 1 ) + (4 16 0 ), or decymalnie 4.660 3BA4 h (3 16 3 ) + (11 * 16 2 ) + (10 16 1 ) + (4 16 0 ), or decymalnie 15.268.

Potęgi 16

Konwersja decymalnej na heksadecymalną decymalnie 422 = 1A6 heksadecymalnie

Dodawanie heksadecymalne Bardzo przydatna umiejętność 1 1 36 28 28 6A 42 45 58 4B 78 6D 80 B5

Odejmowanie heksadecymalne -1 C6 75 A2 47 24 2E

Liczby ze znakiem Na ujemną liczbę wskazuje najstarszy bit ustawiony na 1 sign bit 1 1 1 1 0 1 1 0 Negative 0 0 0 0 1 0 1 0 Positive

Uzupełnienie do 2 (U2) Kroki: Uzupełnij (odwróć) każdy bit Dodaj 1 Uwaga!: 00000001 + 11111111 = 00000000

Odejmowanie binarne Przy odejmowaniu A B, zamień liczbę B na kod U2 Dodaj A do ( B) 0 1 1 0 0 0 1 1 0 0 0 0 0 1 1 1 1 1 0 1 0 1 0 0 1 Zalety kodu U2: Tylko 1 zero Bit znaku Wyeliminowano potrzebę osobnych układów dla dodawania i odejmowania

Zakresy liczb całkowitych ze znakiem

Znaki alfanumeryczne Zbiór znaków Standardowe ASCII (0 127) Extended ASCII (0 255) ANSI (0 255) Unicode (0 65.535) Null-terminated String Tablica znaków zakończona znakiem null byte Korzystanie z kodów ASCII

Algebra Boole a Wyrażenia Bool e tylko dla 3 operacji logicznych NOT, AND i OR

NOT Negacja bitowa Tabela stanów Bramka NOT

AND Tabela stanów: AND

OR Tabela stanów: OR

Priorytety operacji NOT > AND > OR Przykłady pokazujące porządek operacji: Stosuj nawiasy by uniknąć nieporozumień

DZIĘKUJĘ ZA UWAGĘ