Prof dr Marina Marjanovi OSNOVI RAUNARSKE TEHNIKE mmarjanovicsinergija

  • Slides: 34
Download presentation
Prof. dr. Marina Marjanović OSNOVI RAČUNARSKE TEHNIKE mmarjanovic@sinergija. edu. ba

Prof. dr. Marina Marjanović OSNOVI RAČUNARSKE TEHNIKE mmarjanovic@sinergija. edu. ba

. Matematičke osnove računarske tehnike II deo q PREDSTAVLJANJE PODATAKA U RAČUNARU v Predstavljanje

. Matematičke osnove računarske tehnike II deo q PREDSTAVLJANJE PODATAKA U RAČUNARU v Predstavljanje označenih celih brojeva § Znak i apsolutna vrednost § Komplement dvojke (opseg brojeva, aritmetičke operacije) v Predstavljanje realnih brojeva § Pokretni zarez v Predstavljanje podataka znakovnog tipa Departman za informatiku i računarstvo Departman za inženjerski menadžment

Klasifikacija podataka Tipovi podataka Dinamički tipovi struktura podataka se slobodno menja takom rada Statički

Klasifikacija podataka Tipovi podataka Dinamički tipovi struktura podataka se slobodno menja takom rada Statički tipovi unapred definisana unutrašnja struktura svakog podatka Strukturirani tipovi sastoje se od više komponenata koje se nalaze u precizno definisanom odnosu Celi brojevi Skalarni tipovi čije su vrednosti skalari Realni brojevi Znakovni tip

Predstavljanje označenih celih brojeva Označavanje brojeva q U decimalnom brojnom sistemu negativni brojevi se

Predstavljanje označenih celih brojeva Označavanje brojeva q U decimalnom brojnom sistemu negativni brojevi se predstavljaju znakom “-” (pozitivni znakom “+” ili se znak izostavlja) napisanim ispred cifara koje definišu apsolutnu vrednost broja. q U binarnom brojnom sistemu je ovakav način predstavljanja označenih brojeva nemoguć, jer računari mogu da prepoznaju samo dva znaka, a to su “ 0” i “ 1”. Samim tim je znakove “-” i “+” potrebno na neki način predstaviti pomoću “ 0” i ” 1”. Dva načina za predstavljanje označenih celih binarnih brojeva: v pomoću znaka i apsolutne vrednosti v u komplementu dvojke

Znak i apsolutna vrednost (1) q Ovo je najjednostavniji način zapisivanja označenog binarnog broja.

Znak i apsolutna vrednost (1) q Ovo je najjednostavniji način zapisivanja označenog binarnog broja. Postupak zapisivanja broja q Apsolutnoj vrednosti broja se na mestu najveće težine dodaje jedna cifra i to: v 0 – ako je broj pozitivan v 1 – ako je broj negativan

Znak i apsolutna vrednost (2) Primer 1 a 7(10) = 111(2) +7(10) = 0111(2)

Znak i apsolutna vrednost (2) Primer 1 a 7(10) = 111(2) +7(10) = 0111(2) -7(10) = 1111(2) neoznačen binarni broj označen pozitivan binarni broj označen negativan binarni broj Primer 1 b 12(10) = 1100(2) +12(10) = 01100(2) -12(10) = 11100(2) neoznačen binarni broj označen pozitivan binarni broj označen negativan binarni broj

Znak i apsolutna vrednost (3) q Nad binarnim brojevima zapisanim pomoću znaka i apsolutne

Znak i apsolutna vrednost (3) q Nad binarnim brojevima zapisanim pomoću znaka i apsolutne vrednosti teško se obavljaju aritmetičke operacije (sabiranje, oduzimanje, množenje i deljenje) zato što se negativan broj ne može tretirati na jedinstven način. q Navedeni problem se rešava predstavljanjem negativnih binarnih brojeva u komplementu dvojke.

Komplement dvojke (1) q Komplement dvojke ili puni komplement je postupak binarnog predstavljanja celih

Komplement dvojke (1) q Komplement dvojke ili puni komplement je postupak binarnog predstavljanja celih brojeva u vidu n-bitske reči čiji najstariji razred S predstavlja predznak broja. S=0 nenegativni brojevi S=1 negativni brojevi q Neka je Z ceo broj, a K njegov binarni zapis. pozitivan broj +|Z|: K+ = (|Z|)(2) negativan broj -|Z|: K- = (2 n - |Z|)(2) = (2 n - K+)(2) q K- je puni komplement od K+ jer je K+ + K- = 2 n. Važi i obrnuto.

Komplement dvojke (2) Primer 2 Pomoću 16 -bitne reči, predstaviti u komplementu dvojke +15

Komplement dvojke (2) Primer 2 Pomoću 16 -bitne reči, predstaviti u komplementu dvojke +15 i – 15. +15: K+ = (|15|)(2) = 0000 1111 – 15: K- = (216 - |15|)(2) = 10000 - 0000 1111 0001 • Efekat oduzimanja od 2 n može se postići i invertovanjem i dodavanjem 1: polazni broj: invertovani broj: sabiranje sa 1: 0000 1111 1111 0000 1111 0000 + 1 = 0001

Komplement dvojke (3) Postupak zapisivanja broja q pozitivan ceo broj se dobija dodavanjem cifre

Komplement dvojke (3) Postupak zapisivanja broja q pozitivan ceo broj se dobija dodavanjem cifre 0 ispred binarnog zapisa koji odgovara apsolutnoj vrednosti broja. q negativan ceo broj se dobija tako što se: v ispred binarnog zapisa apsolutne vrednosti broja doda cifra 0 v sve binarne cifre se invertuju (jedinice se zamene nulama, a nule jedinicama) v dobijeni broj se sabere sa 1.

Komplement dvojke (4) Primer 3 Brojeve +7(10) i -10(10) predstaviti u komplementu dvojke. +7:

Komplement dvojke (4) Primer 3 Brojeve +7(10) i -10(10) predstaviti u komplementu dvojke. +7: 0000 0111 (dodavanje nule, puni komplement) – 10: 0000 1010 (dodavanje nule) 1111 0101 (invertovanje) +1 (sabiranje sa 1) 1111 0110 (puni komplement)

Komplement dvojke (5) q Osobina komplementa dvojke: kada se dva puta uzastopno primeni na

Komplement dvojke (5) q Osobina komplementa dvojke: kada se dva puta uzastopno primeni na neki broj, dobija se polazni broj. Primer 4 Naći dva puta uzastopno komplement dvojke broja 13(10). polazni broj (+13): invertovanje: sabiranje sa 1: puni komplement (-13): polazni broj (-13): invertovanje: sabiranje sa 1: puni komplement (+13): 0000 1101 1111 0010 +1 1111 1111 0011 0000 1100 +1 0000 1101

Komplement dvojke (6) Pojednostavljeni postupak zapisivanja broja q Polazni binarni broj se podeli na

Komplement dvojke (6) Pojednostavljeni postupak zapisivanja broja q Polazni binarni broj se podeli na dva dela, levi i desni, tako da desni deo čine prva jedinica sa desne strane u broju i sve nule koje slede iza nje, dok preostale cifre čine levi deo broja. q Komplement dvojke se dobija tako što se sve cifre u levom delu broja invertuju (jedinice se zamene nulama, a nule jedinicama), a desni deo broja ostaje nepromenjen.

Komplement dvojke (7) Primer 5 Naći komplement dvojke binarnog broja 01010010010000(2). polazni broj =

Komplement dvojke (7) Primer 5 Naći komplement dvojke binarnog broja 01010010010000(2). polazni broj = 010100100| 10000 levi deo komplement dvojke = desni deo 10101101110000

Komplement dvojke (8) q Osobina komplementa dvojke: pozitivnim brojevima mogu se dodavati vodeće nule

Komplement dvojke (8) q Osobina komplementa dvojke: pozitivnim brojevima mogu se dodavati vodeće nule (ispred cifre najveće težine), a negativnim vodeće jedinice, a da se vrednost brojeva ne promeni. 0111(2) = 0000000111(2) 1001(2) = 11111001(2) Određivanje decimalne vrednosti broja q Decimalna vrednost X označenog binarnog broja zapisanog u komplementu dvojke sa n+1 cifara nalazi se primenom sledeće formule:

Komplement dvojke (9) Primer 6 Odrediti decimalne vrednosti brojeva zapisanih u komplementu dvojke.

Komplement dvojke (9) Primer 6 Odrediti decimalne vrednosti brojeva zapisanih u komplementu dvojke.

Opseg neoznačenih brojeva zapisanih sa n cifara u binarnom obliku dobija se po sledećoj

Opseg neoznačenih brojeva zapisanih sa n cifara u binarnom obliku dobija se po sledećoj formuli: Opsezi brojeva koji se mogu predstaviti pomoću 4 odnosno 8 binarnih cifara su:

Opseg označenih brojeva zapisanih u komplementu dvojke sa n cifara dobija se po sledećim

Opseg označenih brojeva zapisanih u komplementu dvojke sa n cifara dobija se po sledećim formulama: Opsezi brojeva koji se mogu predstaviti pomoću 4 odnosno 8 binarnih cifara su:

Komplement dvojke (10) Aritmetičke operacije: sabiranje i oduzimanje q brojevi se posmatraju kao jedinstvene

Komplement dvojke (10) Aritmetičke operacije: sabiranje i oduzimanje q brojevi se posmatraju kao jedinstvene celine, tj. znak je sastavni deo broja q operacije se obavljaju isto kao nad binarnim neoznačenim brojevima q operacija oduzimanja se svodi na operaciju sabiranja A – B = A + (-B)

Komplement dvojke (11) Sabiranje q U računaru, operacija sabiranja se kontroliše pomoću dva indikatora:

Komplement dvojke (11) Sabiranje q U računaru, operacija sabiranja se kontroliše pomoću dva indikatora: v indikatora prenosa C (carry) – prenos iz najstarijeg razreda v indikatora prekoračenja V (overflow) - računa se pomoću prenosa iz dva najstarija razreda, S i P, na sledeći način ako je C = P, onda je V = 0 ako je C≠ P, onda je V = 1 q Rezultat je ispravan ako je V = 0, a neispravan ako je V = 1.

Komplement dvojke (12) Postupak sabiranja 1. oba sabirka se predstave u komplementu dvojke 2.

Komplement dvojke (12) Postupak sabiranja 1. oba sabirka se predstave u komplementu dvojke 2. dobijeni brojevi se saberu po pravilima binarnog sabiranja uz pamćenje prenosa između razreda 3. na osnovu zamapćenih prenosa odrede se vrednosti P i S 4. na osnovu P i S izračuna se indikator V koji pokazuje da li je dobijeni rezultat ispravan

Komplement dvojke (13) Primer 7 Sabrati brojeve A = +3 i B = +4

Komplement dvojke (13) Primer 7 Sabrati brojeve A = +3 i B = +4 (n = 4). puni komplement A: 0011 puni komplement B: 0100 zbir: 0111 = -0∙ 23+1∙ 22+1∙ 21+1∙ 20=+7 (tačno) prenosi: 0000 C = 0, P = 0, V = 0, ispravno Primer 8 Sabrati brojeve A = +3 i B = -4 (n = 4). puni komplement A: puni komplement B: zbir: (tačno) prenosi: C = 0, P = 0, V = 0, ispravno 0011 1100 1111 = -1∙ 23+1∙ 22+1∙ 21+1∙ 20=-1 0000

Komplement dvojke (14) Primer 9 Sabrati brojeve A = +7 i B = +1

Komplement dvojke (14) Primer 9 Sabrati brojeve A = +7 i B = +1 (n = 4). puni komplement A: 0111 puni komplement B: 0001 zbir: 1000 = -1∙ 23+0∙ 22+0∙ 21+0∙ 20=-8 (netačno) prenosi: 0111 C = 0, P = 1, V = 1, neispravno Primer 10 Sabrati brojeve A = -7 i B = -4 (n = 4). puni komplement A: puni komplement B: zbir: (netačno) prenosi: C = 1, P = 0, V = 1, neispravno 1001 1100 0101 = -0∙ 23+1∙ 22+0∙ 21+1∙ 20=+5 1000

Komplement dvojke (15) Primer 11 Sabrati brojeve A = +6 i B = +7

Komplement dvojke (15) Primer 11 Sabrati brojeve A = +6 i B = +7 (n = 4). puni komplement A: puni komplement B: zbir: prenosi: C = 0, P = 1, V = 1, neispravno 0110 0111 1101 = -1∙ 23+1∙ 22+0∙ 21+1∙ 20=-3 0110 Osobina cirkularnosti: +4 = 0100 +3 = 0011 +2 = 0010 +1 = 0001 0 = 0000 – 1 = 1111 – 2 = 1110 – 3 = 1101 – 4 = 1100 0101 = +5 0110 = +6 0111 = +7 +1 – 1 ± 1 1000 = – 8 1001 = – 7 1010 = – 6 1011 = – 5

Predstavljanje realnih brojeva q Za predstavljanje realih brojeva (brojeva sa decimalnom tačkom) koristi se

Predstavljanje realnih brojeva q Za predstavljanje realih brojeva (brojeva sa decimalnom tačkom) koristi se pokretni zarez – floating point q Zapis u pokretnom zarezu ima 3 komponente: q znak q eksponent q mantisu 31 Znak Eksponent 0 Mantisa

Pokretni zarez Decimalna vrednost broja zapisanog u pokretnom zarezu dobija se po formuli: (ZNAK)MANTISA·2

Pokretni zarez Decimalna vrednost broja zapisanog u pokretnom zarezu dobija se po formuli: (ZNAK)MANTISA·2 EKSPONENT Zapis broja u pokretnom zarezu po standardu IEEE 754 q 1 bit za znak q 8 bitova za eksponent q 23 bita za mantisu Znak Broj je pozitivan ako binarna cifra koja predstavlja znak ima vrednost 0, a negativan ako ova cifra ima vrednost 1. q Opšteprihvaćeni standard za zapis brojeva u pokretnom zarezu je standard IEEE 754.

Standard IEEE 754 Zapis broja u pokretnom zarezu po standardu IEEE 754 q 1

Standard IEEE 754 Zapis broja u pokretnom zarezu po standardu IEEE 754 q 1 bit za znak q 8 bitova za eksponent q 23 bita za mantisu Znak Broj je pozitivan ako binarna cifra koja predstavlja znak ima vrednost 0, a negativan ako ova cifra ima vrednost 1.

Eksponent q Po IEEE 754 standardu, 8 -bitni eksponent se uvećava za 127 prilikom

Eksponent q Po IEEE 754 standardu, 8 -bitni eksponent se uvećava za 127 prilikom generisanja zapisa. Zato se naziva i uvećani eksponent. q Razlog za uvećanje eksponenta je u tome što to pruža mogućnost da eksponent ima i negativnu vrednost. § pomoću 8 bita mogu se zapisati decimalni brojevi od 0 do 255 § umanjivanjem navedenog opsega brojeva za 127 dobija se da vrednost eksponenta može biti u opsegu od -127 do 128 q Pri određivanju decimalne vrednosti zapisa, prava vrednost eksponenta dobija kada se od decimalne vrednosti 8 -bitnog eksponenta u zapisu oduzme 127.

Mantisa q Po IEEE 754 standardu, mantisa se predstavlja pomoću 23 bita koji se

Mantisa q Po IEEE 754 standardu, mantisa se predstavlja pomoću 23 bita koji se mogu obeležiti sa m 1, m 2, . . . , m 23, počevši sa leva na desno. Decimalna vrednost mantise određuje se formulom: q Vrednost mantise mora biti između 1 i 2. q Po IEEE 754 standardu, decimalni broj 0 se zapisuje § pomoću 32 nule § pomoću jedinice i 31 nule

Određivanje decimalne vrednosti Primer 7 Odrediti decimalnu vrednost broja zapisanog u pokretnom zarezu. 0100000101110000000000

Određivanje decimalne vrednosti Primer 7 Odrediti decimalnu vrednost broja zapisanog u pokretnom zarezu. 0100000101110000000000 Rešenje: 0 10000010 1110000000000 Znak: cifra znaka je 0 → broj je pozitivan Eksponent: 10000010(2) = 128+2 -127 = 3 Mantisa: 20+2 -1+2 -2+2 -3 = 1+1/2+1/4+1/8 = 15/8 Vrednost broja: +15/8 · 23 = +15/8 · 8 = +15

Predstavljanje podataka znakovnog tipa Skup znakova čine: q velika i mala slova abecede q

Predstavljanje podataka znakovnog tipa Skup znakova čine: q velika i mala slova abecede q decimalne cifre q specijalni znaci (znaci na tastaturi koji nisu ni slova ni cifre i mogu se štampati: !, #, $, %, =, + itd. ) q kontrolni znaci (ne mogu se štampati, niti prikazati na ekranu, već služe za upravljanje ulazno/izlaznim uređajima: zvučni signal i sl. )

ASCII standard q Postoji više metoda za binarno predstavljanje znakova u računaru. Najpoznatiji od

ASCII standard q Postoji više metoda za binarno predstavljanje znakova u računaru. Najpoznatiji od njih je ASCII – American Standard Code for Information Interchange. q Po ASCII standardu, znakovi se u memoriji računara pamte u vidu odgovarajućeg 8 -bitnog binarnog broja. q ASCII tabela daje jednoznačnu vezu između znakova i njihovih kodova datih u vidu 8 -bitnih binarnih brojeva.

ASCII tabela (prvih 128 vrednosti) Hex ASCII Hex ASCII 0 1 2 3 4

ASCII tabela (prvih 128 vrednosti) Hex ASCII Hex ASCII 0 1 2 3 4 5 6 7 8 9 A B C D E F NUL SOH STX EOT ENQ ACK BEL BS TAB LF VT FF CR SO SI 10 11 12 13 14 15 16 17 18 19 1 A 1 B 1 C 1 D 1 E 1 F DLE DC 1 DC 2 DC 3 DC 4 NAK SYN ETB CAN EM SUB ESC FS GS RS US 20 21 22 23 24 25 26 27 28 29 2 A 2 B 2 C 2 D 2 E 2 F ! ” # $ % & ’ ( ) * + , . / 30 31 32 33 34 35 36 37 38 39 3 A 3 B 3 C 3 D 3 E 3 F 0 1 2 3 4 5 6 7 8 9 : ; < = > ? 40 41 42 43 44 45 46 47 48 49 4 A 4 B 4 C 4 D 4 E 4 F @ A B C D E F G H I J K L M N O 50 51 52 53 54 55 56 57 58 59 5 A 5 B 5 C 5 D 5 E 5 F P Q R S T U V W X Y Z [ ] ^ _ 60 61 62 63 64 65 66 67 68 69 6 A 6 B 6 C 6 D 6 E 6 F ` a b c d e f g h i j k l m n o 70 p 71 q 72 r 73 s 74 t 75 u 76 v 77 w 78 x 79 y 7 A z 7 B { 7 C | 7 D } 7 E ~ 7 F DEL

Informacije u binarnom obliku q 1 bit [1 b] – informacija od jedne binarne

Informacije u binarnom obliku q 1 bit [1 b] – informacija od jedne binarne cifre q 1 bajt [1 B ] – informacija od 8 bitova q 1 kilobajt [1 KB] – informacija od 1024 bajta q 1 megabajt [1 MB] – informacija od 1024 kilobajta, odnosno 1024 x 1024=1 048 576 bajtova q 1 gigabajt [1 GB] – informacija od 1024 megabajta, odnosno 1024 x 1024=1 073 741 824 bajta