Arytmetyka komputerów

Podobne dokumenty
Technologie Informacyjne Wykład 4

Komputery. Wersja: 5 z drobnymi modyfikacjami! Wojciech Myszka :08:

Technologie Informacyjne Wykład 2

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

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

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

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

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

L6.1 Systemy liczenia stosowane w informatyce

Arytmetyka liczb binarnych

Zapis liczb binarnych ze znakiem

1.1. Pozycyjne systemy liczbowe

SYSTEMY LICZBOWE 275,538 =

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

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

Systemy zapisu liczb.

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

Układy kombinacyjne 1

Arytmetyka binarna - wykład 6

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

Techniki multimedialne

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

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 =

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

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

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

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

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

1. Operacje logiczne A B A OR B

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

Systemy liczbowe. 1. System liczbowy dziesiętny

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE

Naturalny kod binarny (NKB)

Architektura komputerów

Pracownia Komputerowa wykład IV

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

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

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

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

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

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

Podstawy Informatyki

Cyfrowy zapis informacji. 5 grudnia 2013 Wojciech Kucewicz 2

Systemy liczbowe używane w technice komputerowej

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

Pracownia Komputerowa wykład V

Technologie Informacyjne Wykład 3

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

Kod U2 Opracował: Andrzej Nowak

Technologie informacyjne wykład 2 wer. 1.2

Moduł 2 Zastosowanie systemów liczbowych w informacji cyfrowej

Stan wysoki (H) i stan niski (L)

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

Pracownia Komputerowa wyk ad IV

Arytmetyka komputerów

Wstęp do informatyki- wykład 1

ARYTMETYKA KOMPUTERA

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

Procesor i jego architektura (CISC, RISC, 32/64 bity). Systemy wieloprocesorowe. wer Wojciech Myszka 16 pa«zdziernika 2008

Kodowanie liczb całkowitych w systemach komputerowych

Arytmetyka komputera

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

W jaki sposób użyć tych n bitów do reprezentacji liczb całkowitych

Teoretyczne Podstawy Informatyki

Arytmetyka. Arytmetyka. Magdalena Lemańska. Magdalena Lemańska,

Technologie Informacyjne

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

Luty 2001 Algorytmy (7) 2000/2001

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

Wstęp do informatyki- wykład 2

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

Podstawy Informatyki

ARCHITEKTURA KOMPUTERÓW Systemy liczbowe

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

System Liczbowe. Szesnastkowy ( heksadecymalny)

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

Podstawy Informatyki dla Nauczyciela

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

Pracownia Komputerowa wykład VI

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

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

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

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

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

Cyfrowy zapis informacji

Metoda znak-moduł (ZM)

Urządzenia Techniki. Klasa I TI. System dwójkowy (binarny) -> BIN. Przykład zamiany liczby dziesiętnej na binarną (DEC -> BIN):

Programowanie Niskopoziomowe

Pracownia Komputerowa wyk ad V

B.B. 2. Sumowanie rozpoczynamy od ostatniej kolumny. Sumujemy cyfry w kolumnie zgodnie z podaną tabelką zapisując wynik pod kreską:

Operacje arytmetyczne

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

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

ZASADY PODZIAŁU SIECI NA PODSIECI, OBLICZANIA ADRESÓW PODSIECI, ADRESÓW HOSTÓW I ADRESU ROZGŁOSZENIOWEGO

Wprowadzenie do informatyki - ć wiczenia

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

ARCHITEKTURA KOMPUTERÓW Liczby zmiennoprzecinkowe

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

Pracownia Komputerowa wyk ad VI

Transkrypt:

Arytmetyka komputerów wer. 4 z drobnymi modyfikacjami! Wojciech Myszka 2017-10-26 20:59:28 +0200

Liczby binarne Liczby dwójkowe nie są wcale nowym wynalazkiem: Pierwsze wzmianki pochodzą z Indii, z 5 2 w. pne. W Chinach księga I Ching składa się z 64 heksagramów i gdzieś tak w XI w ponumerowano je (od 0 do 63) z użyciem yin jako 0, yang jako 1. System opisał bardzo dokładnie matematyk, Goetfryd Leibnitz; patrz na przykład: http://books.google.pl/books?id=fuk8aaaacaaj& printsec=frontcover#v=onepage&q&f=false (po francusku).

System dwójkowy System dwójkowy to pozycyjny system zapisu liczb używający jako bazy (podstawy) liczby 2. 1. Dwie cyfry: 0 i 1. 2. W systemie dziesiętnym (przy podstawie 10) cyfr jest 10: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. 3. W systemie ósemkowym (przy podstawie 8) cyfr jest osiem: 0, 1, 2, 3, 4, 5, 6, 7. 4. W systemie szesnastkowym (przy podstawie 16) cyfr jest 16: 0, 1, 2, 3, 4, 5 6, 7, 8, 9, A, B, C, D, E, F. Przykłady: 10 2 16 10 1010 A 100 1100100 64 123,75 1111011,11 7B,C

Czemu system szesnastkowy jest ważny? Każda cyfra dwójkowa to jeden bit (od binary digit). W skrócie b (małe b). Osiem bitów to jeden bajt. W skrócie B (wielkie B). Komputery zwykle używają parzystych wielokrotności bajtów do zapisu liczb (dwa, cztery albo osiem). Każda cyfra szesnastkowa to cztery bity, zatem jeden bajt to dwie cyfry szesnastkowe. Stosunkowo łatwo zapamiętać binarny wygląd wszystkich cyfr szesnastkowych...

Duże liczby I W układzie dziesiętnym używamy przedrostków: kilo (10 3 ), mega (10 6 ), giga (10 9 ),... do oznaczania dużych liczb lub mili (10 3, mikro (10 6 ), nano (10 9 ),... do zapisu małych liczb 2 10 to 1024 i przez analogię zaczęto nazywać to kilo (1024 bajtów to 1 kilo-bajt ). Ale nie jest to prawidłowe! W końcu ustandaryzowano nazwy (norma IEC 60027-2:1998): kibi Ki 2 10 mebi Mi 2 20 gibi Gi 2 30 tebi Ti 2 40 pebi Pi 2 50 eksbi Ei 2 60 zebi Zi 2 70 jobi Yi 2 80

Konwersje Liczby całkowite Liczby całkowite: Liczbę dzielimy przez dwa zapisując reszty z dzielenia: 10

Konwersje Liczby całkowite Liczby całkowite: Liczbę dzielimy przez dwa zapisując reszty z dzielenia: 10 5 0

Konwersje Liczby całkowite Liczby całkowite: Liczbę dzielimy przez dwa zapisując reszty z dzielenia: 10 5 0 2 1

Konwersje Liczby całkowite Liczby całkowite: Liczbę dzielimy przez dwa zapisując reszty z dzielenia: 10 5 0 2 1 1 0

Konwersje Liczby całkowite Liczby całkowite: Liczbę dzielimy przez dwa zapisując reszty z dzielenia: 10 5 0 2 1 1 0 0 1

Konwersje Liczby całkowite Liczby całkowite: Liczbę dzielimy przez dwa zapisując reszty z dzielenia: 10 5 0 2 1 1 0 0 1 Reszty z dzielenia zapisujemy od końca otrzymując 1010

Konwersje Ułamki dziesiętne Ułamki dziesiętne: Liczbę mnożymy przez dwa i zapisujemy część całkowitą:,33

Konwersje Ułamki dziesiętne Ułamki dziesiętne: Liczbę mnożymy przez dwa i zapisujemy część całkowitą:,33 0,66

Konwersje Ułamki dziesiętne Ułamki dziesiętne: Liczbę mnożymy przez dwa i zapisujemy część całkowitą:,33 0,66 1,32

Konwersje Ułamki dziesiętne Ułamki dziesiętne: Liczbę mnożymy przez dwa i zapisujemy część całkowitą:,33 0,66 1,32 0,64

Konwersje Ułamki dziesiętne Ułamki dziesiętne: Liczbę mnożymy przez dwa i zapisujemy część całkowitą:,33 0,66 1,32 0,64 1,28

Konwersje Ułamki dziesiętne Ułamki dziesiętne: Liczbę mnożymy przez dwa i zapisujemy część całkowitą:,33 0,66 1,32 0,64 1,28 0,56

Konwersje Ułamki dziesiętne Ułamki dziesiętne: Liczbę mnożymy przez dwa i zapisujemy część całkowitą:,33 0,66 1,32 0,64 1,28 0,56 1,12

Konwersje Ułamki dziesiętne Ułamki dziesiętne: Liczbę mnożymy przez dwa i zapisujemy część całkowitą:,33 0,66 1,32 0,64 1,28 0,56 1,12 0,24

Konwersje Ułamki dziesiętne Ułamki dziesiętne: Liczbę mnożymy przez dwa i zapisujemy część całkowitą:,33 0,66 1,32 0,64 1,28 0,56 1,12 0,24 0,48

Konwersje Ułamki dziesiętne Ułamki dziesiętne: Liczbę mnożymy przez dwa i zapisujemy część całkowitą:,33 0,66 1,32 0,64 1,28 0,56 1,12 0,24 0,48 0,96

Konwersje Ułamki dziesiętne Ułamki dziesiętne: Liczbę mnożymy przez dwa i zapisujemy część całkowitą:,33 0,66 1,32 0,64 1,28 0,56 1,12 0,24 0,48 0,96 1,92

Konwersje Ułamki dziesiętne Ułamki dziesiętne: Liczbę mnożymy przez dwa i zapisujemy część całkowitą:,33 0,66 1,32 0,64 1,28 0,56 1,12 0,24 0,48 0,96 1,92 1,84

Konwersje Ułamki dziesiętne Ułamki dziesiętne: Liczbę mnożymy przez dwa i zapisujemy część całkowitą:,33 0,66 1,32 0,64 1,28 0,56 1,12 0,24 0,48 0,96 1,92 1,84 1,68

Konwersje Ułamki dziesiętne Ułamki dziesiętne: Liczbę mnożymy przez dwa i zapisujemy część całkowitą:,33 0,66 1,32 0,64 1,28 0,56 1,12 0,24 0,48 0,96 1,92 1,84 1,68 0,010101000111 2=0,329833984375 10

Konwersje Dwójkowy do dziesiętnego Do zrobienia w domu!

Procesor Operacje logiczne Iloczyn Y = A B A B Y 0 0 0 0 1 0 1 0 0 1 1 1 Różnica symetryczna Y = A B A B Y 0 0 0 0 1 1 1 0 1 1 1 0 Suma Y = A B A B Y 0 0 0 0 1 1 1 0 1 1 1 1

Operacje logiczne Iloczyn logiczny A B AND 0 1 0 0 0 1 0 1 A B

Operacje logiczne Suma logiczna B A OR 0 1 0 0 1 1 1 1 A B

Operacje logiczne XOR XOR 0 1 0 0 1 1 1 0 (Ā B) (A B)

Przekaźnik

Przekaźnik

Przekaźnik

Lampy elektronowe Dioda

Lampy elektronowe Trioda Glass Envelope Plate (anode) Filament (cathode) Grid

Binarne operacje arytmetyczne 1. Suma: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10

Binarne operacje arytmetyczne 1. Suma: 2. Iloczyn 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 0 0 = 0 0 1 = 0 1 0 = 0 1 1 = 1

Procesor Jak procesor dodaje? 1. Półsumator 2. Suma dwu bitów (Y = X 1 + X 2 ) 3. Przeniesienie (C out ) 4. Tabela prawdy X 1 X 2 Y C out 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 Y = X 1 X 2 C out = X 1 X 2

Procesor Jak procesor dodaje sumator C in X 1 X 2 Y C out 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 Y = C in (X 1 X 2 ) C out = (X 1 X 2 ) (C in (X 1 X 2 ))

Operacje logiczne Zastosowanie XOR Znak Kursor Wynik

Operacje logiczne Zastosowanie XOR Znak Kursor Wynik 0 0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1

Operacje logiczne Zastosowanie XOR Znak Kursor Wynik 0 0 1 0 0 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1

Operacje logiczne Zastosowanie XOR Znak Kursor Wynik 0 0 1 0 0 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1

Operacje logiczne Zastosowanie XOR Znak Kursor Wynik 0 0 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1

Operacje logiczne Zastosowanie XOR Znak Kursor Wynik 0 0 1 0 0 1 1 1 1 1 1 1 0 1 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1

Operacje logiczne Zastosowanie XOR Znak Kursor Wynik 0 0 1 0 0 1 1 1 1 1 1 1 0 1 1 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1

Operacje logiczne Zastosowanie XOR Znak Kursor Wynik 0 0 1 0 0 1 1 1 1 1 1 1 0 1 1 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1

Operacje logiczne Zastosowanie XOR 0 0 1 0 0 0 0 1 0 0 1 1 1 1 1 0 0 1 0 0 0 0 1 0 0 Znak Kursor Wynik 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 0 0 0 0 0 1 1 0 1 1 1 1 0 1 1

Operacje logiczne Zastosowanie XOR Znak Kursor Wynik

XOR Patent nonsense Method for dynamically viewing image elements stored in a random access Patent number: 4197590 Filing date: Jan 19, 1978 Issue date: Apr 8, 1980 Inventors: Josef S. Sukonick, Greg J. Tilden Assignees: NuGraphics, Inc. Primary Examiner: Thomas M. Heckler

Zapis liczb w komputerze Jedna cyfra dwójkowa to bit: BInary digit Bity grupowane są po osiem; osiem bitów to bajt 00000000 to 0 (zero) 11111111 to 255 (1 2 7 + 1 2 6 + 1 2 5 + 1 2 4 + 1 2 3 + 1 2 2 + 1 2 1 + 1 2 0 = 2 8 1 bajty bywają grupowane po dwa (komputer szesnastobitowy) cztery trzydziestodwubitowy osiem sześćdziesięciocztero-bitowy

Liczby ujemne? 1. W systemie dziesiętnym: +3 albo 3, a ujemne: 3 2. W dwójkowym teoretycznie: +00000011 albo 00000011 3. Ale jak zapisać znaki + i? 4. Wariant najprostszy 3 00000011 5. Wariant najprostszy 3 10000011 6. Jak wygodnie prowadzić obliczenia na liczbach całkowitych (dodatnich i ujemnych)?

Liczby ujemne Tablica odejmowania: 0 1 0 0 1 1 1 0 (Zakładamy, że operujemy na liczbach czterobitowych!) 0011 1 = 0010 0010 1 = 0001 0001 1 = 0000 0000 1 = 1111 Zatem 1 to 1111 (czterobitowo!)

Liczby ujemne Dokonajmy prostego sprawdzenia: 5 + ( 1) 0 1 0 1 1 1 1 1

Liczby ujemne Dokonajmy prostego sprawdzenia: 5 + ( 1) 0 1 0 1 1 1 1 1 1 0 1 0 0

Dygresja Liczby dziesiętne, dwucyfrowe: 3 3 9 9

Dygresja Liczby dziesiętne, dwucyfrowe: 3 3 9 9 1 3 2

Negacja liczby Mnemotechniczny algorytm negacji jest bardzo prosty: negujemy wszystkie bity i powstałą liczbę zwiększamy o 1: 1 to 0001 negacje: 1110 zwiększenie o 1: 1111 2 to 0010 negacja: 1101 zwiększenie o 1: 1110 sprawdzenie 5 + ( 2) 0 1 0 1 1 1 1 0 1 0 0 1 1

Mnożenie? Ćwiczenie/Zadanie domowe Załóżmy, że nasz komputer jest 5-bitowy (4 bity + znak?) 0 0 1 0 1 1 1 1 1 0