You are on page 1of 43

OSNOVI PROGRAMIRANJA

( II )

PREDSTAVLJANJE PODATAKA U RAUNARU

mr Draen Branin
Elektrotehniki fakultet Banja Luka 2007.

2.1. Predstavljanje u raunaru


INFORMACIONE JEDINICE ?

Osnovne informacione jedinice


bit (b) nosilac najmanje koliine informacije
nosilac elementarne (binarne) informacije vee jedinice: kilobit - kb megabit - Mb gigabit - Gb

= 210 b = 1024 bita = 220 b = 1024 kb = 1.048.576 bita = 230 b = 1024 Mb = 1.073.741.824 bita
7 6 5 4 3 2 1 0

bajt (B)

1B=8b
vee jedinice: kilobajt - kB = 210 B = 1024 bajta megabajt - MB = 220 B = 1024 kB = 1.048.576 bajta gigabajt - GB = 230 B = 1024 MB = 1.073.741.824 bajta

2.1. Predstavljanje u raunaru


CJELOBROJNI PODACI ?

Cjelobrojni podaci (INTEGER)


neoznaeni cijeli brojevi (unsigned integer)
cijeli brojevi bez predznaka (pozitivni + nula)

oznaeni cijeli brojevi (signed integer)


cijeli brojevi sa predznakom (pozitivni + negativni + nula)

U raunaru se koriste sljedei formati bajt


(byte) - B
7 0

rije
(word) W=2B

15

87

B
31

B
0

dvostruka rije
(doubleword) D=4B

B
63

B
0

etvorostruka rije
(quadword) Q=8B

2.2. Neoznaeni cijeli brojevi


UNSIGNED INTEGER ?

Neoznaeni cjelobrojni podaci (unsigned integer)


cijeli brojevi bez predznaka (pozitivni + nula)

niz od 8, 16, 32 ili 64 bita

bn-1 bn-2
vrijednost

b1

b0

V
primjer:

bn-1 2n-1

b1 21
rije

b0 20

bajt
7 6 5 4 3 2 1 0 15 14 13 12 11 10 9

1 0 0 0 0 1 0 0 27 + 22 = 128 + 4 = 132

0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 210 + 22 + 20 = 1024 + 4 + 1 = 1029

2.2. Neoznaeni cijeli brojevi


UNSIGNED INTEGER ?

Neoznaeni cjelobrojni podaci (unsigned integer)


byte minimalna vrijednost
7 6 5 4 3 2 1 0 15 14 13 12 11 10

word minimalna vrijednost


9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 Vmin=0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Vmin=0

maksimalna vrijednost
7 6 5 4 3 2 1 0

maksimalna vrijednost
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

1 1 1 1 1 1 1 1 Vmax = 255 = 256 - 1 = 28 - 1

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Vmax= 65535 = 65536 - 1 = 216 - 1

0 V 2n-1
5

2.2. Neoznaeni cijeli brojevi


UNSIGNED INTEGER ?

Opseg vrijednosti neoznaenih cjelobrojnih podataka

0 V 2n-1
format byte word doubleword* quadword (B = 8b) (W = 16b) (D = 32b) (Q = 64b) opseg vrijednosti 0 28 -1 0 216 -1 0 232 -1 0 264 -1 0 - 255 0 65535 0 4294967295 0 - ???

* doubleword = longword

2.2. Neoznaeni cijeli brojevi


UNSIGNED INTEGER ?

Primjer: Predstaviti broj 19 kao neoznaeni cjelobrojni podatak.

19 : 2 9 4 2 1 0 1 1 0 0 1
15 14 13 12 11 10 7 6 5

byte
4 3 2 1 0

0 0 0 1 0 0 1 1

word
9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1

1910 = 100112

2.2. Neoznaeni cijeli brojevi


UNSIGNED INTEGER ?
Primjer: Sljedei niz cijelih brojeva 1, 19, 128, 255, -10 smjestiti u memoriju kao neoznaene cjelobrojne podatke tipa byte poevi od lokacije 10000.

Memorija (binarni sadraj)


7 6 5 4 3 2 1 0

Memorija (heks. sadraj)


10006 10005

-10 255 128 19 1


1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1

10004 10003 10002 10001 10000 09999

F 8 1 0

F 0 3 1

2.2. Neoznaeni cijeli brojevi


UNSIGNED INTEGER ?
Primjer: Sljedei niz cijelih brojeva 1, 255, 1024 smjestiti u memoriju kao neoznaene cjelobrojne podatke tipa word poevi od lokacije 1000.

Memorija (binarni sadraj)


7 6 5 4 3 2 1 0

1006 1005 1004 1003 1002 1001 1000 0999

0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

1024
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0

255
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

2.2. Neoznaeni cijeli brojevi


ZADACI ZA VJEBU...

1. Broj 123 predstaviti kao neoznaeni cjelobrojni podatak tipa: a) byte, b) word, c) doubleword, d) quadword. 2. Na slici je prikazan sadraj jednog segmenta memorije. Odrediti dekadsku vrijednost neoznaenog cjelobrojnog podatka upisanog na lokaciji 0F000h, ako se on posmatra kao: a) byte, b) word.
0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0

0F002h 0F001h 0F000h 0EFFFh

3. Odrediti koji se niz neoznaenih cjelobrojnih jednobajtnih podataka nalazi u memoriji, ako je sadraj tog segmenta prikazan na prethodnoj slici. 4. Zadat je niz cjelobrojnih podataka koje treba smjestiti u memoriju kao neoznaene podatke tipa word poevi od lokacije 00100h redom: 32, 5, 1024, -1, 256. Prikazati sadraj memorije binarno, odnosno heksadecimalno.

10

2.3. Oznaeni cijeli brojevi


SIGNED INTEGER ?

Oznaeni cjelobrojni podaci (signed integer)


cijeli brojevi sa predznakom (pozitivni + nula + negativni) predznakom negativni)

niz od 8, 16, 32 ili 64 bita


bit znaka 0 = pozitivan 1 = negativan

bn-1 bn-2

b1

b0

vrijednost

V
primjer:

b0 20

bn-2 2n-2

bn-1 2n-1

bajt
7 6 5 4 3 2 1 0 7 6 5

bajt
4 3 2 1 0

0 0 0 0 0 0 0 1 20 = 1

1 0 0 0 0 0 0 1 20 - 27 = 1 - 128 = -127 127

11

2.3. Oznaeni cijeli brojevi


SIGNED INTEGER ?

Oznaeni cjelobrojni podaci (signed integer) - byte


7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0
7 6 5 4 3 2 1 0

V= 0 V=1 V = 127 V = -128 128 V = 1 - 128 = -127 127 V = 127 - 128 = -1

0 0 0 0 0 0 0 1
7 6 5 4 3 2 1 0

-128 V 127

0 1 1 1 1 1 1 1
7 6 5 4 3 2 1 0

1 0 0 0 0 0 0 0
7 6 5 4 3 2 1 0

1 0 0 0 0 0 0 1
7 6 5 4 3 2 1 0

1 1 1 1 1 1 1 1

12

2.3. Oznaeni cijeli brojevi


SIGNED INTEGER ?

Oznaeni cjelobrojni podaci (signed integer) - word


15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

V= 0 V= 1 V = 32767 V = -32768 V = -1

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

-32768 V 32767
13

2.3. Oznaeni cijeli brojevi


SIGNED INTEGER ?

Opseg vrijednosti oznaenih cjelobrojnih podataka

-2n-1 V 2n-1-1
format byte word doubleword quadword (B = 8b) (W = 16b) (D = 32b) (Q = 64b) -27 .. 27-1 -215 .. 215 -1 -231 .. 231-1 -263 .. 263 -1 opseg vrijednosti -128 .. 127 -32768 .. 32767 -2147483648 .. 2147483647 ???

14

2.3. Oznaeni cijeli brojevi


DRUGI KOMPLEMENT ?

Predstavljanje negativnih cijelih brojeva


Koristi se tehnika komplementiranja za predstavljanje negativnih brojeva

1. Nepotpuno komplementiranje / prvi komplement /

0 +

0 1 1 1 0 1 1 0 1 0 0 0 1 0 0 1

1. k

2. Potpuno komplementiranje / drugi komplement /

0 0 0 0 0 0 0 1

2. k
1 0 0 0 1 0 1 0

15

2.3. Oznaeni cijeli brojevi


DRUGI KOMPLEMENT ?

Primjer: Predstaviti broj -19 kao oznaeni cjelobrojni podatak tipa byte.

19 : 2
7 6 5

byte
4 3 2 1 0

9 4 2 1 0

1 1 0 0 1

0 0 0 1 0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1

19 1. k +1 -19

16

2.3. Oznaeni cijeli brojevi


DRUGI KOMPLEMENT ?

Primjer: Predstaviti broj -1 kao oznaeni cjelobrojni podatak.

byte
7 6 5 4 3 2 1 0 15 14 13 12 11 10

word
9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1

1 1. k +1 -1

0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

17

2.3. Oznaeni cijeli brojevi


DRUGI KOMPLEMENT ?
Primjer: Sljedei niz cijelih brojeva 1, -1, 127, -128, 255 smjestiti u memoriju kao oznaene cjelobrojne podatke tipa byte poevi od lokacije 100h.

Memorija (binarni sadraj)


7 6 5 4 3 2 1 0

Memorija (heks. sadraj)


106h 105h

255 -128 127 -1 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 0 0 0 0 0 0 0 1

104h 103h 102h 101h 100h 0FFh

8 7 F 0

0 F F 1

18

2.3. Oznaeni cijeli brojevi


DRUGI KOMPLEMENT ?
Primjer: Sljedei niz cijelih brojeva 1, 255, -1 smjestiti u memoriju kao oznaene cjelobrojne podatke tipa word poevi od lokacije 1000.

Memorija (binarni sadraj)


7 6 5 4 3 2 1 0

1006 1005 1004 1003 1002 1001 1000 0999

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

-1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

255
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

19

2.3. Oznaeni cijeli brojevi


ZADACI ZA VJEBU...

1. Brojeve 123 i -123 predstaviti kao oznaene cjelobrojne podatke tipa: a) byte, b) word, c) doubleword, d) quadword. 2. Na slici je prikazan sadraj jednog segmenta memorije. Odrediti dekadsku vrijednost oznaenog cjelobrojnog podatka upisanog na lokaciji 0F000h, ako se on posmatra kao: a) byte, b) word.
0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0

0F002h 0F001h 0F000h 0EFFFh

3. Odrediti koji se niz oznaenih cjelobrojnih jednobajtnih podataka nalazi u memoriji, ako je sadraj tog segmenta prikazan na prethodnoj slici. 4. Zadat je niz cjelobrojnih podataka koje treba smjestiti u memoriju kao oznaene podatke tipa word poevi od lokacije 00100h redom: 32, -5, -1024, -1, 256. Prikazati sadraj memorije binarno, odnosno heksadecimalno.

20

2.4. Znakovni podaci


ZNAKOVI ?

Predstavljanje znakova (karaktera)


Raunar raspolae odgovarajuim skupom znakova: upravljaki znakovi npr. za upravljanje tampaem i sl. slova, cifre, znakovi interpunkcije, grafiki simboli Znakovi se kodiraju neoznaenim cjelobrojnim vrijednostima ako bi se koristio jedan bit

1 A

0 B

mogue kodirati samo 2 znaka (npr. A i B)

ako bi se koristilla dva bita


0 0 0 1

mogue kodirati 4 znaka


1 0 1 1

21

2.4. Znakovni podaci


ZNAKOVI ?

Predstavljanje znakova (karaktera)


koriste se 6-bitni, 7-bitni, 8-bitni i 16-bitni kodovi
6-bitni kodovi maksimalno 26 = 64 znaka (npr. 26 slova, 10 cifara i 28 drugih) 7-bitni kodovi maksimalno 27 = 128 znakova najpoznatiji ASCII (American Standard Code for Information Interchange) 8-bitni kodovi maksimalno 28 = 256 znakova EBCDIC, proireni ASCII 16-bitni kodovi maksimalno 216 = 65536 znakova UNICODE (Windows)

22

2.4. Znakovni podaci


ZNAKOVI ?

ASCII kod
0 00 10 20 30 40 50 60 70 1 2 3 4 5

4
6 7 8

3 9

4 A B

0 0 1 1 0 1 0 0 C D E F

! # $ % & ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ A


4 1 0 1 0 0 0 0 0 1

23

2.4. Znakovni podaci


ZNAKOVI ?

Primjer: Prikazati sadraj memorije ako je, poevi od lokacije 1000, upisan string (niz znakova): 1+Asm
0 1 2 3 4 5 6 7 8 9 A B

C D

Memorija (binarni sadraj)


7 6 5 4 3 2 1 0

00 10 20 30 40 0 ! 1 2 # 3 $ % & 4 5 E U e u 6 F 7 ( 8 ) 9 I Y i y * : J Z j z + ; K [ k { , < = . > / ?

1006 1005 1004 1003 1002 1001 1000 0999

@ A B P Q R ` p a q b r

C D S c s T d t

G H

L M N O \ l | ] ^ _ o

0 1 1 0 1 1 0 1 0 1 1 1 0 0 1 1 0 1 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 0 1 1 0 0 0 1

m s A + 1

50 60 70

V W X f v g w h x

m n } ~

24

2.4. Znakovni podaci


ZADACI ZA VJEBU...

1. U memoriji je poev od adrese 0400h upisan niz znakova. Ispisati prvih pet znakova teksta.
2 6 6 4 2 6 5 3 0 2 F 4 C C 3 0 00406h 00405h 00404h 00403h 00402h 00401h 00400h 003FFh 00506h 00505h 00504h 00503h 00502h 00501h 00500h 004FFh

2. Upisati u memoriju (poevi od lokacije 500h) rije Doboj.

25

2.5. Brojevi u fiksnom zarezu


FIKSNI ZAREZ ?

Predstavljanje brojeva u fiksnom zarezu


Brojevi u fiksnom zarezu imaju najiru primjenu u administraciji Primjenjuje se cjelobrojna aritmetika, pri emu se ima u vidu poloaj binarne (decimalne) take Najee se primjenjuje BCD kodiranje (Binary Coded Decimal)
nepakovani BCD podaci pakovani BCD podaci

Binarno kodirane decimalne cifre


DEC BCD 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001

26

2.5. Brojevi u fiksnom zarezu


NEPAKOVANI BCD ?

Nepakovani BCD podaci


Jedna BCD cifra smjeta se u jedan bajt
7 6 5 4 3 2 1 0

ZONA

BCD

0 1 2 3 4 5 6 7 8 9

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1

0 0 0 0 0 0 0 0 0 0

0 1 2 3 4 5 6 7 8 9
Zonsko proirenje da bi se dobile ASCII cifre

3 3 3 3 3 3 3 3 3 3

0 1 2 3 4 5 6 7 8 9

27

2.5. Brojevi u fiksnom zarezu


NEPAKOVANI BCD ?

Primjer: Prikazati broj 2345 kao nepakovani BCD podatak, pa ga smjestiti u memoriju poevi od lokacije 1000.
Memorija (binarni sadraj)
7 6 5 4 3 2 1 0

1006 1005 1004

3 0 000 040 0 0 0 5 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1

2 3 4 5

0 0 0 0 0 0 1 0 1003 0 0 0 0 0 0 1 1 1002 0 0 0 0 0 1 0 0 1001 0 0 0 0 0 1 0 1 1000


0999

28

2.5. Brojevi u fiksnom zarezu


PAKOVANI BCD ?

Pakovani BCD podaci


Dvije BCD cifre smjetaju se (pakuju) u jedan bajt

BCD tea cifra

BCD laka cifra

Primjer: Prikazati broj 2345 kao pakovani BCD podatak, pa ga smjestiti u memoriju poevi od lokacije 1000.

2
2 3

Memorija (hex)

Memorija (binarni sadraj)


7 6 5 4 3 2 1 0

1002

0 0 1 0 0 0 5 1 4 1 2 0 1 0 0 0 1 0 1 4

3 5

0 0 1 0 0 0 1 1 1001 0 1 0 0 0 1 0 1 1000
0999

29

2.5. Brojevi u fiksnom zarezu


PAKOVANI BCD ?

Primjer: Prikazati broj 345 kao pakovani BCD podatak, pa ga smjestiti u memoriju poevi od lokacije 1000.

0
0 3

Memorija (hex)

Memorija (binarni sadraj)


7 6 5 4 3 2 1 0

1002

0 0 0 0 0 0 5 1 4 1 0 0 1 0 0 0 1 0 1 4

3 5

0 0 0 0 0 0 1 1 1001 0 1 0 0 0 1 0 1 1000
0999

30

2.5. Brojevi u fiksnom zarezu


ZADACI ZA VJEBU...

1. Broj 457 prikazati kao pakovani BCD, odnosno kao nepakovani BCD podatak, koji se u memoriji nalazi na adresi 0400h. Prikazati sadraj zauzetih lokacija i u binarnom i u heksadecimalnom obliku. 2. U memoriju, poev od lokacije 0400h, treba smjestiti sljedei niz: 1, 12, 211. Prikazati sadraj zauzetih lokacija, ako se podaci upisuju kao: a) pakovani BCD, b) nepakovani BCD. Lokacije prikazati u binarnom, odnosno u heksadecimalnom obliku.

31

2.6. Brojevi u pokretnom zarezu


POKRETNI ZAREZ ?

Predstavljanje brojeva u pokretnom zarezu


Brojevi u pokretnom zarezu slue za predstavljanje realnih brojeva esto se koriste sinonimi pokretni (plivajui) zarez (taka) Opti oblik broja u pokretnom zarezu (floating point - FP)

V = (-1)S F R
ZNAK 0 = pozitivan 1 = negativan FRAKCIJA (MANTISA)

E
EKSPONENT BROJNA OSNOVA

Primjer:

- 125.34 = - 12.534 101 = - 1.2534 102 = - 0.12534 103

- 125.34 = (-1)1 0.12534 103


Razliiti proizvoai razliiti formati !!!

32

2.6. Brojevi u pokretnom zarezu


IEEE 754 ?

IEEE 754 FP standard


Najpoznatiji standard (1985) Najire primjenjivan u praksi (Intel, Motorola, ...) Postoje tri formata FP podataka:
obina preciznost (single precision) 32 bita
1 8 23

dvostruka preciznost (double precision) 64 bita


1 11 52

proirena preciznost (extended precision) 80 bita


1 11 68

33

2.6. Brojevi u pokretnom zarezu


OBINA PRECIZNOST?

FP podaci u obinoj preciznosti


31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

ZNAK

0 = + 1 = -

MODIFIKOVANI EKSPONENT (8 bita)


0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

MANTISA ili FRAKCIJA (23 bita) podrazumijeva se normalizovana mantisa

1.frakcija 0 1 254 255


za predstavljanje nule i malih vrijednosti modifikovani eksponent (ME): 1 .. 254 stvarni eksponent (SE): SE = ME 127 -126 .. +127 za predstavljanje beskonanosti

1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1

34

2.6. Brojevi u pokretnom zarezu


OBINA PRECIZNOST?
Primjer: Prikazati broj 19.25 kao FP podatak u obinoj preciznosti.

19.2510 = ?2 19 : 2 9 4 2 1 0 1 1 0 0 1
ZNAK
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

01000001100110100000000000000000 FRAKCIJA

MODIFIKOVANI EKSPONENT

001101

0 = +

4+127 = 131 13110=10000112

0.25 * 2 0.5 1.0 0.0 35 0 1

19.2510 = 10011.012 = +1.00110124


1910 = 100112 0.2510 = 0.012

2.6. Brojevi u pokretnom zarezu


OBINA PRECIZNOST?
Primjer: Prikazati broj -0.3 kao FP podatak u obinoj preciznosti.

0.310 = ?2 0.3 * 2 0.6 1.2 0.2 0.4 0.8 1.6 0.6 0 0 1 0 1

-0.310 = -0.010011001...2 = -1.0011001...2-2

- 1.00110011001100110011001 2-2
FRAKCIJA 00110011001100110011001 MODIFIKOVANI EKSPONENT

ZNAK

-2+127 = 125 12510 = 011111012

1 = -

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9

10111110100110011001100110011001

36

2.6. Brojevi u pokretnom zarezu


OBINA PRECIZNOST?
Primjer: Sljedei niz realnih brojeva 19.25, -0.3 smjestiti u memoriju kao podatke u pokretnom zarezu u obinoj preciznosti poevi od lokacije 1000.
Memorija
7 6 5 4 3 2 1 0

-0.3
E 10111110100110011001100110B11001 0

1008

1 0 1 1 1 1 1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 0 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

1007 1006 1005 1004 1003 1002 1001 1000 0999

19.25

-0.3

9 9

9 9

01000001100110100000000000900900 0 0 4 9 1 A 0 0

19.25

0 0

37

2.6. Brojevi u pokretnom zarezu


OBINA PRECIZNOST?

Najmanja vrijednost normalizovanog FP podatka


31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

S 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

MODIFIKOVANI EKSPONENT

ME = 1

NORMALIZOVANA MANTISA

F=0

SE = ME-127 = -126

STVARNI EKSPONENT

|Vmin| = 1.0 2-126 = 2-126


2-126 i -2-126 su nuli najblie vrijednosti koje mogu da se prikau -2-126 0 2-126

PODBAAJ (koristi se DENORMALIZOVANA MANTISA)

38

2.6. Brojevi u pokretnom zarezu


DVOSTRUKA PRECIZNOST?

FP podaci u dvostrukoj preciznosti


1 11 52

ZNAK

0 = + 1 = -

MODIFIKOVANI EKSPONENT (11 bita)

MANTISA ili FRAKCIJA (52 bita) podrazumijeva se normalizovana mantisa

1.frakcija 0 1 2046 2047


za predstavljanje nule i malih vrijednosti modifikovani eksponent (ME): 1 .. 2046 stvarni eksponent (SE): SE = ME 1023 -1022 .. +1023 za predstavljanje beskonanosti

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1

39

2.6. Brojevi u pokretnom zarezu


DVOSTRUKA PRECIZNOST?
Primjer: Prikazati broj 19.25 kao FP podatak u dvostrukoj preciznosti.

19.2510 = 10011.012 = +1.00110124

MODIFIKOVANI EKSPONENT ZNAK

0 = +

FRAKCIJA

001101000..........0

4+1023 = 1027 102710 = 100000000112

11

52

0 10000000011 0011010000000000000000000000000000000000000000000000

40

2.6. Brojevi u pokretnom zarezu


DVOSTRUKA PRECIZNOST?

Najmanja vrijednost normalizovanog FP podatka


1 11 52

S 00000000001 000000000000000000000000000000000000000000000000000

MODIFIKOVANI EKSPONENT

ME = 1

NORMALIZOVANA MANTISA

F=0

SE = ME-1023 = -1022

STVARNI EKSPONENT

|Vmin| = 1.0 2-1022 = 2-1022


2-1022 i -2-1022 su nuli najblie vrijednosti koje mogu da se prikau -2-1022 0 2-1022

PODBAAJ (koristi se DENORMALIZOVANA MANTISA)

41

2.6. Brojevi u pokretnom zarezu


IEEE 754 ?

Ostale FP vrijednosti
nula beskonanost nije broj (NaN) S 0 0 0 0

S 111 ... 1 S 111 ... 1

42

2.6. Brojevi u pokretnom zarezu


ZADACI ZA VJEBU...

1. Brojeve 123, -123, 1, 2-10, 2-100, -2-1000 predstaviti kao FP podatke: a) u obinoj preciznosti, b) u dvostrukoj preciznosti.
Date brojeve treba smjestiti u memoriju poevi od lokacije 1000h. Prikazati sadraj memorije binarno, odnosno heksadecimalno.

2. Na slici je prikazan sadraj jednog segmenta memorije. Odrediti realan broj


upisan kao FP podatak obine precitnosti na lokaciji 0F000h.
0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0F003h 0F002h 0F001h 0F000h 0EFFFh

43

You might also like