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

Podobne dokumenty
Jednoznaczność dzielenia. Jednoznaczność dzielenia

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

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

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

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

Podstawy Informatyki

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

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

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

Systemy zapisu liczb.

Pracownia komputerowa. Dariusz Wardecki, wyk. VI

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

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

Pracownia Komputerowa wykład V

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

Metoda znak-moduł (ZM)

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

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

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

Pracownia Komputerowa wykład IV

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Metody numeryczne. Postać zmiennoprzecinkowa liczby. dr Artur Woike. Arytmetyka zmiennoprzecinkowa. Uwarunkowanie zadania.

Kod U2 Opracował: Andrzej Nowak

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

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

Arytmetyka binarna - wykład 6

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

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

Kongruencje. Sławomir Cynk. 24 września Nowy Sącz. Instytut Matematyki Uniwersytetu Jagiellońskiego

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

ARCHITEKTURA KOMPUTERÓW Liczby zmiennoprzecinkowe

Technologie Informacyjne

Technologie Informacyjne Wykład 4

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

LICZBY ZMIENNOPRZECINKOWE

Pracownia komputerowa. Dariusz Wardecki, wyk. V

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

Pracownia Komputerowa wykład VI

Arytmetyka stałopozycyjna

Pracownia Komputerowa wyk ad IV

Pracownia Komputerowa wyk ad V

Arytmetyka stało i zmiennoprzecinkowa

Arytmetyka liczb binarnych

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

Architektura komputerów

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

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

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

Arytmetyka komputerów

ARYTMETYKA KOMPUTERA

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

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

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa.

Pracownia Komputerowa wyk ad VI

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

Zapis liczb binarnych ze znakiem

Teoretyczne Podstawy Informatyki

BŁĘDY OBLICZEŃ NUMERYCZNYCH

SYSTEMY LICZBOWE 275,538 =

Podstawy Informatyki

Operacje arytmetyczne

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

Zwykle liczby rzeczywiste przedstawia się w notacji naukowej :

Naturalny kod binarny (NKB)

MATEMATYKA REPREZENTACJA LICZB W KOMPUTERZE

Relacje binarne. Def. Relację ϱ w zbiorze X nazywamy. antysymetryczną, gdy x, y X (xϱy yϱx x = y) spójną, gdy x, y X (xϱy yϱx x = y)

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

Ciała i wielomiany 1. przez 1, i nazywamy jedynką, zaś element odwrotny do a 0 względem działania oznaczamy przez a 1, i nazywamy odwrotnością a);

Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska

1. Operacje logiczne A B A OR B

Wprowadzenie do metod numerycznych. Krzysztof Patan

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

Wprowadzenie do informatyki - ć wiczenia

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

1. Liczby naturalne, podzielność, silnie, reszty z dzielenia

1.1. Pozycyjne systemy liczbowe

System Liczbowe. Szesnastkowy ( heksadecymalny)

Podstawy Informatyki dla Nauczyciela

Kongruencje i ich zastosowania

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

Obliczenia Naukowe. O arytmetyce komputerów, Czyli jak nie dać się zaskoczyć. Bartek Wilczyński 29.

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

Wstęp do Informatyki

Wprowadzenie do informatyki ćwiczenia

Reprezentacja stałoprzecinkowa. Reprezentacja zmiennoprzecinkowa zapis zmiennoprzecinkowy liczby rzeczywistej

Architektura systemów komputerowych

Programowanie Niskopoziomowe

MADE IN CHINA czyli SYSTEM RESZTOWY

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

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE

LICZBY ZMIENNOPRZECINKOWE

1. Liczby wymierne. x dla x 0 (wartością bezwzględną liczby nieujemnej jest ta sama liczba)

Pozycyjny system liczbowy

2.3. Wyznaczanie wartości wielomianu, pozycyjne systemy liczbowe i reprezentacja danych liczbowych w komputerze

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

Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.

Kodowanie liczb całkowitych w systemach komputerowych

Transkrypt:

Arytmetyka komputerowa Wszelkie liczby zapisuje się przy użyciu bitów czyli cyfr binarnych: 0 i 1 Ile różnych liczb można zapisać używajac n bitów? n liczby n-bitowe ile ich jest? 1 0 1 00 01 10 11 3 000001010011100101110111 8 00000001001000110100010101100111 10001001101010111100110111101111 16 n n istnieje n różnychliczbn-bitowych Arytmetyka komputerowa Wykład 8 ARYTMETYKA KOMPUTEROWA, str W jaki sposób użyć tych n bitów do reprezentacji liczb całkowitych żeby zapisać zarówno liczby dodatnie jak ujemne, żeby każdy układ bitów odpowiadał dokładnie jednej liczbie, żeby łatwo wykonywało się podstawowe operacje arytmetyczne Zapis stałopozycyjny liczb: ciągbitówb n 1 b 1 b 0 reprezentujeliczbę ( n i=0 b i i ) b n 1 n 1 =b 0 0 +b 1 1 ++b n n b n 1 n 1

Arytmetyka komputerowa zapis stałopozycyjny Załóżmy, że liczby są 3-bitowe Wtedy: 000 = 0+0 0 = 0 001 = 1+0 0 = 1 010 = 0+1 0 = 011 = 1+1 0 = 3 100 = 0+0 1 = 101 = 1+0 1 = 3 110 = 0+1 1 = 111 = 1+1 1 = 1 Wykład 8 ARYTMETYKA KOMPUTEROWA, str Arytmetyka reszt(arytmetyka modulo n) 5 6 3 1 0 7 8 9 Sklejamy liczby całkowite: n 1= 1 n=0 n+1=1 Inaczej: każdą liczbę m zastępujemy przezm%n resztęzdzieleniamprzezn Arytmetyka liczb całkowitych na komputerze jest arytmetyką reszt (patrz niżej)

Arytmetyka reszt(arytmetyka modulo n) Niechn DEFINICJA: (relacja modulo n) MDwieliczbycałkowitepiqsąrównemodulon,jeślirównesąresztyzich dzielenia przez n: p n q def p%n=q%n Fakt: Mp n q p qjestpodzielneprzezn Fakt: MRelacja n jestrelacjąrównoważnościna Z;tznjest zwrotna: p n p symetryczna: jeśli p n q to q n p przechodnia: jeśli p n q i q n r to p n r Relacja równoważności pozwala podzielić zbiór Z na klasy abstrakcji: do każdej klasy wchodzą liczby o tej samej reszcie z dzielenia przez n Wykład 8 ARYTMETYKA KOMPUTEROWA, str 6 Arytmetyka reszt(arytmetyka modulo n) Sklejenie modulo jest rozdzielne względem dodawania, odejmowania i mnożenia liczb całkowitych: (m+k)%n = (m%n+k%n)%n (13+)%8=(13%8+%8)%8 =(5+)%8=9%8=1 (m k)%n = (m%n k%n)%n (13 6)%8=(13%8 6%8)%8 =(5 )%8=3%8=3 (m k)%n = (m%n k%n)%n (13 6)%8=(13%8 6%8)%8 =(5 )%8=10%8= Sklejenie modulo jest kongruencją względem tych działań

Arytmetyka komputerowa ujemne 3 3 1 0 1 dodatnie arytmetyka 3-bitowa, czyli modulo 3 =8 Arytmetyka liczb całkowitych w języku C w moim komputerze jest czterobajtowa;toznaczymodulo( 8 ) = 8 = 3 Dlategowgniego 65536 65535= 65536 bo 65536= 16 ( 16 ( 16 1))% 3 =( 3 16 )% 3 = 16 % 3 Wykład 8 ARYTMETYKA KOMPUTEROWA, str 8 Arytmetyka komputerowa działania Ist10rodzludzi:ci,corozumiejąliczbybinarneici,conierozumieją Binarne dodawanie stałopozycyjne 1+7=? 1= 5 + 3 + 0 7= + 3 + 1 + 0 przeniesienie: 11011 składnik 1: 1 czyli: 101001 składnik : 7 czyli: + 11011 suma: 1000100 czyli 6 + =68

Arytmetyka komputerowa działania Ist10rodzludzi:ci,corozumiejąliczbybinarneici,conierozumieją Binarne dodawanie stałopozycyjne 1+( 7)=? zakładamy,żenaliczbęcałkowitąprzypada8bitów 1= 5 + 3 + 0 7=56 7=9= 7 + 6 + 5 + + 0 przeniesienie: 1100001 składnik 1: 1 czyli: 101001 składnik: -7czyli: +11100101 suma: 00001110 czyli 3 + + 1 =1 Wykład 8 ARYTMETYKA KOMPUTEROWA, str 10 Arytmetyka komputerowa działania Binarne mnożenie stałopozycyjne 1 7=? zakładamy,żenaliczbęcałkowitąprzypada8bitów 1= 5 + 3 + 0 7= + 3 + 1 + 0 przeniesienie: 1111000 czynnik 1: 1 czyli: 101001 czynnik : 7 czyli: 11011 101001 101001 000000 01001 +1001 suma: 01010011 czyli 6 + + 1 + 0 =83

Arytmetyka komputerowa zapis zmiennopozycyjny zapis zapis zapis komputerowy tradycyjny przyrodniczy stałopozycyjny 501E9 501 10 9 501000000 501E-6 501 10 6 000000501 Liczby bardzo duże lub bardzo małe zapisuje się w postaci gdzie 1 mantysa<10 i cecha Z(liczba całkowita) znak mantysa 10 cecha Wewnętrzna komputerowa reprezentacja różni się tym, żepodstawąniejest10tylko Wykład 8 ARYTMETYKA KOMPUTEROWA, str 1 Arytmetyka komputerowa zapis zmiennopozycyjny 1Przedstawićliczbęrzeczywistąxwpostacix=z m c,gdzie znakzjestalbo 1albo1, mantysa m jest liczbą rzeczywistą taką że: m=0lub1 m<, ( ] [ ) cecha c jest liczbą całkowitą 1 0 1 O jednoznaczności takiego przedstawienia patrz dalej Cechę zapisujemy binarnie w zwykły sposób(to jest liczba całkowita) 3Mantysęzapisujemypodobnie,zapodstawębiorącjednak 1 zamiast:ciąg m 0 m 1 m reprezentujeliczbę + i=0 (m 0 =1 zawsze) m i i = m 0 0 +m 1 1 +m + każdem itoalbo0albo1 Ucinamynieskończonyciągm 0 m 1 m zależnieodliczbybitówprzeznaczonych na mantysę liczby

Arytmetyka komputerowa zapis zmiennopozycyjny MZałóżmy, że poświęcamy: nacechę:8bitów; namantysę:7bitów; naznakliczby:1bit Jakprzedstawićliczbę 1 7? 1 7 = 1 7 0 = 7 1 = 7 = 8 7 3 ( 1+ 0 +0 +1 8 + 0 16 + 0 3 + 1 ) 3 6 znak cecha mantysa 0 11111101 1001001 + 3 8/7 Wykład 8 ARYTMETYKA KOMPUTEROWA, str 1 Arytmetyka komputerowa zapis zmiennopozycyjny MZałóżmy, że poświęcamy: nacechę:8bitów; namantysę:7bitów; naznakliczby:1bit Liczba 0 1 3 : 61 3 = 61 3 0 = 61 8 ( 1+ 0 +1 +0 8 + 0 16 + 0 3 + 1 6 ) znak cecha mantysa 1 00000100 1010001 61/8

Arytmetyka komputerowa zapis zmiennopozycyjny MZałóżmy, że poświęcamy: nacechę:8bitów; namantysę:7bitów; naznakliczby:1bit znak cecha mantysa 1 01001000 1101001 7 105/6 ( 1+ 1 +0 +1 8 +0 16 + 0 3 + 1 ) 7 6 Jaką liczbę przedstawia poniższy układ bitów? = 6+3+8+1 6 7 = 105 6 7 = 105 66 7776351096 10 1 Wykład 8 ARYTMETYKA KOMPUTEROWA, str 16 Arytmetyka komputerowa zapis zmiennopozycyjny Własności: x=( 1) s m c Jeślicechacmakbitów,to k 1 c< k 1,więc k 1 c < k 1 (npdlak=8: 1 18 c < 18 30837 10 38 ) Im więcej bitów ma cecha, tym większy zakres przedstawianych liczb Jeślimantysammanbitów,toliczbymożnaprzedstawićzdokładnością do 1 n 1 c (npdlan=7dokładnośćdook1565 10 c ) Im więcej bitów ma mantysa, tym większa dokładność(mniejsze ziarno ) przedstawianych liczb Dokładność jest większa dla liczb bliskich zeru

Arytmetyka komputerowa zapis zmiennopozycyjny Im więcej bitów ma cecha, tym większy zakres przedstawianych liczb Im więcej bitów ma mantysa, tym większa dokładność(mniejsze ziarno ) przedstawianych liczb Jeśli przeznaczymy bitynacechę(wartościcechy:, 1,0,1)i 3bitynamantysę (wartościmantysy:0,, 5, 6, 7 ), to potrafimy przedstawić następujące liczby nieujemne: c= c= 1 {}}{{}}{ 0 1 516 16 16 7 16 6 c=0 {}}{ c=1 {}}{ 1 8 5 8 6 8 7 8 +tylesamopoujemnejstroniezera 5 6 7 5 6 7 Wykład 8 ARYTMETYKA KOMPUTEROWA, str 18 Arytmetyka komputerowa zapis zmiennopozycyjny TWIERDZENIE: (jednoznaczność zapisu zmiennopozycyjnego) MZałóżmy,że: 1c 1,c Z(lcałkowite),m 1,m R(lrzeczywiste), 1 m 1 <i1 m <, 3m 1 c 1 =m c Wtedym 1 =m ic 1 =c Dowód twierdzenia o jednoznaczności: Z??wynika 1= m 1 c 1 m c = m 1 m c 1 c Jeślic 1 =c,to c 1 c =1im 1 =m,koniecdowodu Jeślic 1 <c,toc 1 c 1,to c 1 c 1,to1 m 1 Aletoniemożliwe,bom 1 <im 1 m 1,to m 1 m

Arytmetyka komputerowa działania Binarne mnożenie zmiennopozycyjne (m 1 c 1 ) (m c )=(m 1 m ) c 1+c M 015 978=(17 3 ) (19 9 ) =(17 19) 6 =33 6 (normalizacjawyniku) =1615 7 =067 Wykład 8 ARYTMETYKA KOMPUTEROWA, str 0 Arytmetyka komputerowa działania Binarne dodawanie zmiennopozycyjne (m 1 c 1 )+(m c )=(m 1 c 1 )+((m c c 1 ) c 1 ) =(m 1 +m c c 1 ) c 1 Dodawanie wymaga przeskalowania jednego składnika; to jest skomplikowane i prowadzi do utraty precyzji M 978+015=19 9 +17 3 =19 9 +(17 1 ) 9 =19 9 +000015039065 9 =(19+000015039065) 9 =190015039065 9

Arytmetyka komputerowa działania Utrata precyzji przy dodawaniu MZałóżmy, że poświęcamy na cechę: 8 bitów; na mantysę: 8 bitów (15 100 )+(15 100 )=(15 100 )+((15 00 ) 100 ) =(15+15 00 ) 100 Ale15 00 wmantysietodwabityprzesuniętewprawoo00pozycji; amantysamaichtylko8;więcpotymprzesunięciuwychodzi0takwięc (15 100 )+(15 100 )=15 100 chociaż 15 100 0