67
Rappresentazione dei numeri ed aritmetica di base

Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

  • Upload
    others

  • View
    10

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Rap

pres

enta

zion

e de

i nu

mer

i ed

arit

met

ica

di

base

Page 2: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Cod

ific

he

dei n

um

eri,

agen

da

•Co

dific

a “n

atur

ale”

Med

iant

e il

Sist

ema

di N

umer

azio

ne P

osiz

iona

le (

S.N

.P.)

, in

base

2–

Adat

to s

olo

per

num

eri n

atur

ali (

inte

ri po

sitiv

i)

•M

odul

o e

Segn

o–

Un

bit

per

il se

gno,

gli

altr

i per

il m

odul

o in

SN

P–

Solo

inte

ress

e te

oric

o

•Co

mpl

emen

to a

2–

Codi

fica

med

iant

e SN

P“n

on p

uro”

–Am

piam

ente

usa

ta p

er le

pro

prie

tà a

ritm

etic

he (

faci

lita

circ

uiti

di c

alco

lo)

•Vi

rgol

a m

obile

–N

umer

i rea

li–

Stan

dard

IEE

E 75

4, a

mpi

amen

te u

sato

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Inte

ri

Rea

li

Nat

ural

i

Page 3: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Nu

mer

i e n

um

eral

i

Num

ero

Num

eral

eN

umer

ale

Rapp

rese

ntaz

ione

Inte

rpre

tazi

one

Tras

form

azio

ne f

ra

Rapp

rese

ntaz

ioni

Esem

pio

num

eral

i: “d

odic

i”, 1

2,XI

I,0x

C

Entit

à as

trat

ta

Anal

ogia

: ga

tto

e ca

tden

otan

o lo

ste

sso

“ogg

etto

” in

due

ling

ue d

iffer

enti

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 4: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Sist

ema

di N

um

eraz

ion

e P

osiz

ion

ale,

ric

hia

mi

•E’

def

inito

da

una

copp

ia (

A,B)

dov

e:–

B>1

è un

inte

ro, d

etto

bas

ede

l sis

tem

a, e

d A

un

insi

eme

di s

imbo

li di

stin

ti, le

cif

re, c

on |

A|=

B–

sist

ema

deci

mal

e, B

=10

, A=

{0,1

,2,3

,4,5

,6,7

,8,9

}–

sist

ema

bina

rio, B

=2,

A=

{0,1

}–

sist

ema

otta

le, B

=8,

A=

{0,1

,2,3

,4,5

,6,7

}–

sist

ema

esad

ecim

ale,

B=

16, A

={0

,1,2

,3,4

,5,6

,7,8

,9,A

,B,C

,D,E

,F}

•O

gni c

ifra

rapp

rese

nta

un n

umer

o di

stin

to c

ompr

eso

fra

0 e

B-1

•1

“uno

”, 2

”due

•In

terp

reta

zion

e m

enta

le im

med

iata

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 5: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Sist

ema

Nu

mer

azio

ne

Pos

izio

nal

e , r

ich

iam

i

•U

n va

lore

num

eric

o è

rapp

rese

nto

da u

na s

eque

nza

di c

ifre

(alli

neam

ento

) ap

part

enen

ti ad

A

d k-1..d

2d1d

0.d -

1d-2…

d -p

•PA

RTE-

INTE

RA.P

ARTE

-FRA

ZIO

NAR

IA

•L’

indi

ce a

ssoc

iato

alla

cifr

a de

nota

la p

osiz

ione

della

cifr

a •

La p

osiz

ione

esp

rime

il pe

sode

lla c

ifra

–Va

lore

di d

i= V(

d i)

=d i

x Bi

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 6: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Esem

pio:

sis

tem

a de

cim

ale

(bas

e 1

0)

•10

cifr

e, A

={0

,1,2

,3,4

,5,6

,7,8

,9}

•Es

empi

o: 7

43.2

34–

d 2=

7, d

1=4,

d0=

3 –

V(74

3) =

7 x

102

+ 4

x 1

0 +

3–

V(0.

234)

= 2

x 1

0-1

+ 3

x 1

0-2

+ 4

x 1

0-3

103

102

101

100

10-1

10-2

10-3

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

1000

10

0

10

1

0.

1

0.01

0.

001

Page 7: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Not

azio

ne

•Pe

r ev

iden

ziar

e la

bas

e B

del s

iste

ma

di n

umer

azio

ne s

i usa

la s

egue

nte

nota

zion

e

•(…

) B (B

in b

ase

10!)

•N

egli

esem

pi s

egue

nti,

se o

mes

sa v

ale

10•

La c

ifra

più

a si

nist

ra è

dett

a ci

fra

più

sign

ifica

tiva,

que

lla a

des

tra

cifr

a m

eno

sign

ifica

tiva

–Se

B=

2 si

usa

no g

li ac

roni

miM

SB(M

ost

Sign

ifica

ntBi

t) e

dLS

B(L

east

Si

gnifi

cant

Bit)

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 8: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Sist

ema

Bin

ario

(ba

se 2

)

•Util

izza

to d

ai c

ircui

ti el

ettr

onic

i dei

cal

cola

tori

•2 c

ifre

(bit)

d ∈

A =

{0,

1}

V(N

) =

d k-1

x 2k

-1 +

dk-

2x

2k-2

+...

..+ d

1x

21 +

d 0x

20 +

d-1

x 2-

1+

......

+ d

-px

2-p

(101

0.10

1)2

= 1

x 2

3+

1 x

21 +

1 x

2-1

+ 1

x 2

-3 =

(10

.625

) 10

2322

2120

2-1

2-2

2-3

8

4

2

1

0

.5

0.2

5 0

.125

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 9: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Pot

enze

di 2

ric

orre

nti

•22

=4

•23

=8

•24

=16

•25

=32

•26

=64

•27

=12

8•

28=

256

•29

=51

2•

210 =

1024

(K)

K=

Kilo

•22

0=

102

4K(M

) M

=M

ega

•23

0=

102

4M(G

) G

=G

iga

•24

0=

102

4G(T

) =

Tera

•25

0=

102

4T(P

) =

Peta

•21

6 =65

536

= 6

4 K

•23

2 = 4

G

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 10: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Alt

re b

asi n

otev

oli

Bas

i 8 e

16

•Es

empi

o:

–(7

21) 8

7 x

82+

2 x

81 +

1 x

80

= 7

x64

+ 1

6 +

1 =

448

+17

=(4

65) 1

0

–(0

.1) 8

1/8

= (

0.12

5)10

•Es

empi

o:

–(7

21) 1

67

x 16

2+

2 x

161

+ 1

x 1

60 =

7x

256

+ 3

2 +

1 =

179

2 +

33

=

(182

5)10

–(0

.1) 1

61/

16 =

(0.

0625

) 10

•N

ota:

nel

cas

o ra

ppre

sent

azio

ni e

sade

cim

aliè

pra

ssi a

ntep

orre

0x,

op

pure

il s

uffis

so H

–Ex

: 0x

721,

721

H

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 11: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Con

vers

ion

e da

un

a ba

se a

d u

n’a

ltra

•Pr

oble

ma:

da

to u

n va

lore

rap

pres

enta

to d

all’a

lline

amen

to N

in b

ase

B1

trov

are

la r

appr

esen

tazi

one

N’ i

n ba

se B

2

•(N

) B1→

(N’) B

2

•N

el s

egui

to, s

e ch

iaro

dal

con

test

o, N

den

ota

sia

il va

lore

che

l’a

lline

amen

to d

i cifr

e

•Bi

sogn

a co

nver

tire

sepa

rata

men

te le

par

ti in

tera

(NI)

e f

razi

onar

ia (

NF)

–(N

) B1=

(NI.N

F)B1

–(N

I)B1→

(N’ I)

B2

–(N

F)B1→

(N’ F)

B2

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 12: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Con

vers

ion

e

•I

met

odi d

ipen

dono

dal

la s

celta

di u

sare

la b

ase

di p

arte

nza

(B1)

o

quel

la d

i arr

ivo

(B2)

•Po

iché

si h

a fa

mili

arità

con

la b

ase

B=10

qua

ndo

una

delle

due

bas

i è

10, a

llora

si s

cegl

ierà

il m

etod

o ch

e co

nsen

te d

i lav

orar

e in

tal

e ba

se–

Casi

not

evol

i•

B1≠1

0 e

B2=

10 (

già

vist

o)•

B1=

10 ,

B2≠1

0•

B2=

B1k

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 13: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Con

vers

ion

eda

bas

e 1

0 a

B, N

>0

ed

inte

ro

•U

siam

o la

seg

uent

e os

serv

azio

ne:

in g

ener

ale

poss

iam

o af

ferm

are

che

per

ogni

inte

ro B

(1<

B≤N

):

N =

Q x

B +

R[1

]

•D

ove

Q (

Q<

N)

è il

quoz

ient

ede

lla d

ivis

ione

fra

inte

ri (d

ivis

ione

Eucl

idea

) ed

R (

0≤R<

B)

il re

sto

•N

otaz

ione

–Q

= N

/B (q

uozi

ente

)–

R =

N

mod

B (r

esto

)

•Si

a V(

N)

= d

k-1B

k-1

+ ..

+d 1

B+

d0

•D

’altr

a pa

rte:

dk-

1Bk-

1+

.. +

d 1B

+ d

0 =

B(d

k-1B

k-2

+

.. +

d1)

+ d

0

e qu

indi

(ve

di [

1]):

d0=

Nm

odB,

e d

k-1B

k-2

+

.. +

d1

= N

/ B

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 14: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

N in

tero

da

con

vert

ire,

B ba

se d

i arr

ivo

i0;

while

N<>

0 do

1. d i

N mo

d B

2. N

N/B

3. i

i+1en

dwhi

le

Esem

pio:

(25

) 10

= (

??) 2

(25)

10=

(11

001)

2

Alg

orit

mo

di C

onve

rsio

ne

da b

ase

10

a B

, N>

0 e

d in

tero

Cif

raN

mod

2N

/ 2

N

d 0=

11

1225

d 1=

00

612

d 2=

00

36

d 3=

11

13

d 4=

11

01

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 15: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

d 1=

11

01

d 0=

E14

130

Cif

raR

mod

16

N /

16

N

(30)

10=

(??

) 16

(30)

10=

(1E

) 16 =

0x1E

Alt

ro e

sem

pio

d 1=

11

715

d 2=

11

37

d 3=

11

13

d 4=

11

01

d 0=

00

1530

Cif

raR

mod

2N

/2N

(30)

10=

(11

110)

2

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Not

a0x

E=(1

110)

2

Page 16: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Met

odo

“dir

etto

” di

con

vers

ion

eda

bas

e 1

0 a

B

•D

ato

N in

divi

duar

e di

retta

men

te le

pot

enze

nel

la b

ase

B

Ese

mpi

o:

•ra

ppre

sent

are

27 in

bas

e B

=2:

–16

+8+2

+1 =

> (1

1011

) 2

•O

sser

vazi

one:

LSB

=0

pari;

LS

B=1

di

spar

i •

Val

ore

mas

sim

o =

111…

.1 =

2K -

1 (K

bit

pari

ad 1

)

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 17: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Rel

azio

ne

fra

le b

asi2

/8/1

6

(E5

4) 1

6

(11

10

01

01

01

00

) 2

(62

1) 8

(11

0 0

10

00

1) 2

(E5

4) 1

6(1

11

0 0

10

1 0

10

0) 2

(11

1 0

01

01

0 1

00

) 2(7

12

4) 8

Da

base

16(

2) a

2(1

6)

Da

base

8(2

) a

2(8)

Da

base

16(

8) a

8(1

6)

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 18: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Con

vers

ion

eda

bas

e 1

0 a

B, N

<1

N=

d -1B

-1+

d-2B-

2 +. +

d-m

B-m+

.. +

…N

B= d

-1B0

+ d

-2B-

1..

+ d

-mB-

m+

1+

… +

… =

d -

1+

(d -

2B-1

+..

+ d

-mB-

m+

1 + ..

+ ..

) =

I+

N’

(I=

inte

ro, N

’<1)

Qui

ndi p

er is

olar

e la

prim

a ci

fra:

d -1

= p

arte

inte

ra d

i NB

(=tr

unc(

NB)

)

N’=

NB

-d -

1=

(d -

2B-1

.. +

d-m

B-m

+1 +

..+

..)

•Si

amo

nel c

aso

iniz

iale

… L

e al

tre

cifr

e si

isol

ano

in m

odo

anal

ogo:

•d -

2=

par

te in

tera

di N

’B•

…•

Finc

hé p

reci

sion

e vo

luta

opp

ure

N=

0

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 19: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

N<

1 va

lore

fra

zion

ario

da

conv

ertir

e,

B ba

se d

i arr

ivo,

m c

ifre

(pre

cisi

one)

i1;

while

N>0 a

ndi≤

m do

1. d -i

trunc

(NB)

;2.

NNB

-d -i;

3. I

i+1en

dwhi

leAlg

orit

mo

di c

onve

rsio

ne

da b

ase

10

a B

, N<

1

(0.8

125)

10=

(0.

1101

) 2

d -3=

00

0.5

0.25

d -2=

11

1.25

0.62

5

d -4=

11

1.0

0. 5

d -1=

11

1.62

50.

8125

Cifr

aTr

unc(

2N)

2NN

Esem

pio:

(0.

8125

) 10

= (

??) 2

0

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 20: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Esem

pio:

(12

.25

) 10→

(..)

2

•12

/2 =

6 re

sto

0 →

d 0=0

•6/

2 =

3 re

sto

0 →

d 1=0

•3/

2 =

1 re

sto

1 →

d 2=1

•1/

2 =

0 re

sto

1 →

d 3=1

•0.

25 x

2 =

0.5

0, p

arte

inte

ra 0

→d -

1=0

•0.

50 x

2 =

1.0

, par

te in

tera

1 →

d -2=

1

(12.2

5)10→

(110

0.01)

2

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 21: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

d -3 =

11

1.6

0.8

d -4 =

11

1.2

0.6

d -2 =

00

0.8

0.4

0.2

d -1=

00

0.4

0.2

Cifr

aTr

unc(

2N)

2NN

Esem

pio:

(0.

2) 1

0=

(??

) 2

(0.2

) 10

= (

0.00

11) 2

Esem

pio

num

eri p

erio

dici

Not

a: S

e N

= N

’/2m, a

llora

il n

umer

o di

cifr

e bi

narie

è f

inito

,Pe

rciò

il n

umer

o no

n è

perio

dico

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 22: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Eser

cizi

o

•Es

prim

ere

in b

ase

10 il

num

ero

perio

dico

(0,

10) 2

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 23: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Rie

pilo

go

10B≠

10

prod

otti

suc

cess

ivi (

N<1

)

svilu

ppo

del p

olin

omio

divi

sion

i su

cces

sive

(N in

tero

)

28

16Ca

lcol

ator

i Ele

ttro

nici

, Ber

aldi

, aa

05/0

6

Page 24: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Cod

ific

a n

atu

rale

•Es

prim

e il

num

ero

med

iant

e il

sist

ema

posi

zion

ale

usan

do u

na s

trin

ga

di b

it…

•U

n bi

t b

rapp

rese

nta

una

cifr

a bi

naria

–Il

bit

b=1

rapp

rese

nta

la c

ifra

bina

ria 1

e b

=0

la c

ifra

0–

Page 25: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Nu

mer

i in

teri

, Mod

ulo

e s

egn

o

•E’

il p

iù im

med

iato

da

com

pren

dere

Si d

edic

a un

bit

al s

egno

ed

i rim

anen

ti al

mod

ulo

–D

i reg

ola

1 de

nota

il s

egno

-

•Es

empi

o

–-1

5 |1

5| =

(11

11) 2

-15

= (

1111

1)2

–15

(0

1111

) 2

•Co

n k

bit

l’int

erva

llo d

i dei

val

ori r

appr

esen

tabi

li è

S=[-

2k-1-1

,..,2

k-1 -

1]

–D

oppi

a ra

ppre

sent

azio

ne d

i 0

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 26: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Com

plem

ento

a 2

•Fi

ssat

o un

num

ero

k>1

di c

ifre

bina

rie, i

l com

plem

ento

a 2

su

k bi

t di u

n in

tero

N, N

∈S

={-2

K-1

,..2K

-1–1

} ,è

N

0≤N

≤2K

-1–1

C(k

,N)=

2k-|N

|-2

K-1≤

N ≤

–1

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

•Una

def

iniz

ione

alte

rnat

iva

è C

(k,N

) = (N

+ 2

k )m

od2k

Page 27: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Alg

orit

mo

di c

onve

rsio

ne…

•S

ia N

il n

egat

o di

N e

d N

’ il c

ompl

emen

to s

u k

bit..

•N

’+N

=2k

•N

+ N

+ 1

= 2

k

•P

erta

nto,

N’ =

N +

1

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

_ _

_

Page 28: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Alg

orit

mi p

er il

cal

colo

del

com

plem

ento

di –

N

•P

rimo

met

odo:

Rap

pres

enta

re il

val

ore

asso

luto

di N

in b

ase

2–

Inve

rtire

tutti

i bi

t ed

aggi

unge

re 1

•Es

empi

o: ra

ppre

sent

are

N=–

25in

com

plem

ento

su

k=8

bit.

|-25|

= 2

5 =

16+8

+1

0001

1001

(25)

1110

0110

+(In

verto

i bi

t)1

=(s

omm

o 1)

1110

0111

(231

)

•S

econ

do:

–R

appr

esen

tare

il v

alor

e as

solu

to d

i N in

bas

e 2

–Pa

rtend

o da

des

tra, l

asci

are

inva

riati

tutti

i bi

t fin

o al

prim

obi

t 1, p

oi in

verti

re g

li al

tri

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 29: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Val

ore

espr

esso

in b

ase

10

•Il

valo

re d

ella

str

inga

di b

it S=

(bk-

1..b

2b1b

0),s

uppo

sto

che

essa

esp

rima

un n

umer

o in

com

plem

ento

a 2

su

k bi

t, è

V(S)

=-b

k-12

k-1

+ Σ

b i2i

–Pe

rtan

to•

b K-1

= 0

nu

mer

o po

sitiv

o•

b K-1

= 1

nu

mer

o ne

gativ

o

–At

tenz

ione

, MSB

non

èun

bit

di s

egno

! •

Per

otte

nere

il c

orris

pond

ente

val

ore

di s

egno

opp

osto

non

e’su

ffic

ient

e in

vert

ire

solo

MSB

i=0

K-2

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 30: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Alt

ri e

sem

pi

= 4+

1 =

5=-

8+4+

1= -3

=

1pi

ù pi

ccol

o po

sitiv

o=4

+2+1

=7

più

gran

de p

ositi

vo

=-8+

4+2+

1=-1

più

picc

olo

nega

tivo

=-8

più

gran

de n

egat

ivo

Ese

mpi

o: k

= 4

bit

-23

2221

20P

eso

-84

21

01

01

11

01

00

01

01

11

11

11

10

00

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 31: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Un

“re

golo

” pe

r i c

alco

li in

com

plem

ento

2 -3

→(2

+5) m

od8

= 7

mod

8 =

7→

-13

–2 →

(3+6

) mod

8 =

9 m

od8

= 1→

1-1

-3 →

(7 +

5) m

od8

12 m

od 8

= 4

→-4

7

0

1

2

4

5

6

3

01

2

3-4

-1

-2

-3

11

22

33

4-4

5-3

6-2

7-1

00

N

C

(3,N

)

com

plem

ento

valo

re ra

ppre

sent

o

|N| +

C(3

,N)=

8

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 32: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Pro

prie

tà d

ella

rap

pres

enta

zion

e in

com

plem

ento

Perc

hé u

sare

la r

appr

esen

tazi

one

in c

ompl

emen

to?

•Se

mpl

ifica

le o

pera

zion

i arit

met

iche

•La

som

ma

alge

bric

a X

+Y p

uò e

sser

e ca

lcol

ata

med

iant

e la

som

ma

aritm

etic

a de

i com

plem

enti:

C(X

+X)=

[C(X

)+C

(Y)]

mod

2k

•S

empl

ifica

zion

e de

i circ

uiti

elet

troni

ci c

he e

segu

ono

le o

pera

zion

i –

Il ca

lcol

o de

l com

plem

ento

non

rich

iede

l’es

ecuz

ione

di a

lcun

a di

ffere

nza

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 33: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Esem

pio

•k=

424

=16

, val

ori r

appr

esen

tabi

li={-

8..7

}

•X=

-1, Y=

-3•

C(-1

)=16

-1=

15

1111

2

•C(

-3)=

16-3

=13

11

012

1111

+(1

5)11

01 =

(13)

1110

0 -

(28)

1000

0 =

(16)

1100

Per

elim

inar

e il

cont

ribut

o 24

,tr

alas

cia

MSB

!

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 34: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Esem

pio

•-5

+ 2

(su

K=

8 bi

t)•

Trov

iam

o la

rap

pres

enta

zion

e di

-5

in c

ompl

emen

to•

|-5|

=5=

4+1→

0000

010

1 →

1111

101

1

1111

101

1(-

5)00

00 0

010

(+2)

1111

110

1(-

3)

•Ve

rific

a: 1

111

1101

→-1

28 +

64

+32

+16

+8+

4+1

= -

3

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 35: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Este

nsi

one

del s

egn

o

•Pr

oble

ma:

–Si

a da

to u

n in

tero

N, r

appr

esen

tato

in c

ompl

emen

to m

edia

nte

k bi

t–

Rapp

rese

ntar

e N

usa

ndo

k+q

bit

(q>

0)

•So

luzi

one:

–Fa

re q

cop

ie d

i MSB

•D

imos

traz

ione

(ba

nale

per

N p

ositi

vo)

–Si

a N

<0

(N=

1bb…

b , d

ove

b è

una

cifr

a bi

naria

) –

Per

indu

zion

e: S

ia N

q la

str

inga

con

est

ensi

one

di q

bit

q=1:

Poi

ché

–2K–

1 =–2

K+

2K–1

, allo

ra V

(N)=

V(N

1).

•q>

1: e

sten

dere

di u

n bi

t la

str

inga

ott

enut

a da

N c

on e

sten

sion

edi

q-1

bit

V(N

q)=

V(N

q-1)

•Es

empi

o–

-2 =

(11

0)2

con

3 bi

t di

vent

a (1

1111

0)2

su 6

bit

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 36: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Ope

razi

oni a

ritm

etic

he

•Ad

dizi

one

Sott

razi

one

•M

oltip

licaz

ione

Div

isio

ne

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 37: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Reg

ole

per

la s

omm

a

Som

ma

di t

re b

it: A

B e

Cin

Cou

tC

in+

A

+B

=

----

----

----

D

Cin

A

B

Cou

tD

00

00

00

0

1

01

01

00

10

1

1

10

←1

0

0

01

←1

0

1

10

11

01

01

1

1

11

In g

ener

ale:

Cin

e’ il

il r

ipor

to (c

arry

)gen

erat

o da

lla s

omm

a de

i bit

in p

osiz

ione

pre

cede

nte

Cou

il rip

orto

gene

rato

la c

oppi

a di

val

ori (

Cou

t,Si)

indi

ca

il nu

mer

o di

“uno

”, es

pres

so in

bas

e 2

atte

nzio

ne a

due

que

ste

conf

igur

azio

ni …

.so

no le

uni

che

in c

ui

Cin<

>Co

ut

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 38: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Som

ma

bin

aria

•B

AS

E B

=2•

0+0=

0•

0+1=

1•

1+0=

1•

1+1=

10=(

2)10

•1+

1+1=

11=(

3)10

1 1

1 0

0 0

+

(56)

100

1 1

1 0

1

=(2

9)10

------

------

------

----

(85)

10

Rip

orto

(car

ry)

1

0 010

0 0

1 1

1 0

1 1 64+1

6+4+

1 =

85

La s

omm

a di

due

num

eri a

k b

it e’

rapp

rese

ntab

ile a

l piu

’ con

k+1

bit

Se

abbi

amo

a di

spos

izio

ne k

bit

ed il

risu

ltato

rich

iede

k+1

bit

si h

a ov

erflo

wCa

lcol

ator

i Ele

ttro

nici

, Ber

aldi

, aa

05/0

6

Page 39: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Som

ma

alge

bric

a in

com

plem

ento

•E

sprim

ere

glio

pera

ndii

n co

mpl

emen

to a

lla b

ase

–La

rapp

rese

ntaz

ione

in c

ompl

emen

to d

iffer

isce

sol

o pe

r i v

alor

i neg

ativ

i•

Ese

guire

la s

omm

a•

Tras

cura

re l’

even

tual

e rip

orto

•S

e no

n si

è v

erifi

cato

over

flow

, allo

ra la

som

ma

rapp

rese

nta

il ris

ulta

to

espr

esso

in c

ompl

emen

to•

Si v

erifi

ca o

verfl

ow q

uand

o gl

i ope

rand

ihan

no lo

ste

sso

segn

o ed

il

risul

tato

ha

segn

o op

post

o

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 40: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Ove

rflo

w, e

sem

pio

•E

segu

ire s

u k=

4 bi

t la

diffe

renz

a: –

3-6

|-3| →

2+1 →

0011

→11

01

|-6| →

4+2 →

0110

→10

10

1101

+(-

3)10

10=

(-6)

1000

(rip

orti)

(1)0

111

(7!)

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 41: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Rile

vazi

one

over

flow

Si e

’ ver

ifica

toO

VER

FLO

Wse

:1)

i due

ope

rand

ihan

no lo

ste

sso

segn

o

2)Il

risul

tato

ha

il se

gno

dive

rso

dagl

i ope

rand

i m

a……

. 10

00

-3 +

11

01

-6 =

10

10

----

---

=>

---

----

----

-91

01

11

=>

7

01

00

+5

+0

10

1+

6 =

01

10

----

---

=>

---

----

----

+1

10

10

11

=>

-5

……

il ve

rific

arsi

del

l’ove

rflo

wim

plic

a la

dis

ugua

glia

nza

del r

ipor

to in

in

gres

so e

que

llo in

usc

ita d

alla

pos

izio

ne M

SB (C

in<>

Cou

t)

L’ov

erflo

wsi

può

rile

vare

test

ando

la c

ondi

zion

e “C

in<>

Cou

t” d

i MSB

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 42: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Pro

dott

o e

divi

sion

e pe

r 2k

•Il

prod

otto

di N

per

2k

si o

ttien

e po

stan

do d

i k p

osiz

ioni

le c

ifre

a si

nist

ra e

d in

sere

ndo

k bi

t par

i a z

ero

•La

div

isio

ne d

i N p

er 2

ksi

otti

ene

post

ando

di k

pos

izio

ni le

cifr

e a

dest

ra e

d in

sere

ndo

k bi

t par

i al v

alor

e di

MS

B(s

hift

aritm

etic

o)

•Es

empi

o :

-128

/8 =

-16

(8=

23 )

1000

000

0 (3

pos

izio

ni a

des

tra)

1111

000

0 =

(-16)

10

•Es

empi

o :

-128

/8 =

-16

(8=

23 )

•Es

erci

zio:

ver

ifica

re ta

le re

gola

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 43: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Pro

dott

o e

divi

sion

e pe

r 2k

•S

e N

è u

n nu

mer

o se

nza

segn

o, a

llora

il p

rodo

tto (d

ivis

ione

) per

2ksi

ot

tiene

spo

stan

do (s

hift)

le c

ifre

a si

nist

ra (d

estra

) di k

pos

izio

ni e

d in

trodu

cend

o 0

nelle

pos

izio

ni la

scia

te li

bere

Ese

mpi

o: 1

5 x

4= 6

0 (4

=22 ,s

hift

2 po

sizi

oni)

0000

111

1 00

11 1

100

Ese

mpi

o: 1

28 /

2= 6

4 (2

=21 ,

shift

1 po

sizi

one)

1000

000

0 01

00 0

000

Atte

nzio

ne: n

el c

aso

di ra

ppre

sent

azio

ni c

on s

egno

que

sta

rego

lano

n va

le..

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 44: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Pro

dott

o e

divi

sion

e pe

r 2k

•N

=2n d

n+

2n-1

d n-1

+… +

d0

•N

’=2N

= 2

n+1 d

n+

2nd n

-1+…

+ 2

d 0+0

•N

’=2n

+1d’

n+1

+ 2n

d’n+

… +

2d’

1 +d

’ 0

•d’

i=d i

-1(i>

0) e

d’ 0=

0

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 45: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Mol

tipl

icaz

ion

e n

um

eri s

enza

seg

no

•0

0 =

0•

0 1

= 0

•1

0 =

0•

1 1

= 1

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 46: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Esem

pio

1 0

0 1

0(1

8)1

0 1

0(1

0)---

------

------

------

=>

27 + 2

5+

24+

22 =

128

+ 3

2 +

16 +

4 =

180

0 0

0 0

01

0 0

1 0

0 0

0 0

01

0 0

1 0

------

------

------

----

1 0

1 1

0 1

0 0

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 47: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Eser

cizi

di r

iepi

logo

•Es

egui

re le

seg

uent

i con

vers

ioni

•(-

16) 1

0=

(??

) 2[c

ompl

emen

to a

2, m

inim

o nu

mer

o di

cifr

e ]

•(-

16) 1

0=

(??

) 2

[com

plem

ento

a 2

, k=

10 c

ifre

bina

rie ]

•(-

126)

10=

(??

) 2

[com

plem

ento

a 2

, min

imo

num

ero

di c

ifre

]•

(27)

10=

(??)

2

•(1

/3) 1

0=

(??

) 3•

(128

) 10

= (

??) 1

6=

(??

) 8=

(??

) 2•

(11.

111)

2=

(??

) 10

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 48: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Eser

cizi

di r

iepi

logo

•Es

egui

re le

ope

razi

oni

•16

-23

, in

com

plem

ento

(k=

7 bi

t)

•16

+ 2

3 in

com

plem

ento

(k=

7 bi

t, k

=6

bit)

-16

-23

in c

ompl

emen

to (

k=7

bit

e k=

6 bi

t)

•11

101

x 11

•10

1010

11 /

10

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a05

/06

Page 49: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Nu

mer

i rea

li

Page 50: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Sist

ema

in v

irgo

la m

obile

(fl

oati

ng

poin

t)

•U

n nu

mer

o re

ale

X pu

ò es

sere

esp

ress

o ne

lla f

orm

a

X =

f x

10E

•do

ve, f

è d

etta

man

tissa

, E e

spon

ente

X =

0,3

14 x

101

•Fi

ssat

o X,

la v

irgol

a si

spo

sta

a si

nist

ra (

dest

ra)

se E

aum

enta

(dim

inui

sce)

–X

= 3

,14

x 10

0=

0,3

14 x

101

=0,

0314

x 1

02

•Pe

r ev

itare

am

bigu

ità s

i dov

rà d

efin

ire u

na f

orm

a no

rmal

izza

ta…

Page 51: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Car

atte

rist

ich

e

•Am

met

tiam

o di

dis

porr

e di

p =

3 c

ifre

deci

mal

i per

esp

rimer

e f

ek=

2 pe

r E.

Ino

ltre

usia

mo

i seg

ni +

e –

–|f

| ∈

[0.1

, 0.1

01,…

…0.

999]

;–

|E| ∈

[0..9

9]

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a03

/04

Page 52: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

App

ross

imaz

ion

eEr

rore

ass

olu

to

•In

gen

eral

e è

impo

ssib

ile r

appr

esen

tare

con

esa

ttez

za t

utti

i val

ori r

eali

disp

onen

do d

i un

num

ero

finito

di c

ifre

ed im

pieg

ando

il s

iste

ma

posi

zion

ale

–N

umer

i irr

azio

nali

(π)

–Pe

riodi

ci (

1/3

= 0

,33.

.)

•In

dich

iam

o co

n X

il va

lore

esa

tto

e co

n x

il va

lore

app

ross

imat

o–

X =

1/3

x

=0,

33

•Si

def

inis

ce e

rror

e as

solu

to, E

A, la

diff

eren

za f

ra x

ed

X

•EA

= X

-x

(|EA

|=|X

-x|)

•E’

una

prim

a m

isur

a de

lla b

ontà

del

l’app

ross

imaz

ione

Page 53: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

IEEE

Flo

atin

g P

oin

t 7

54

N

ozio

ni d

ibas

e

•St

anda

rd I

EEE

754

–In

trod

otto

nel

198

5 co

me

stan

dard

per

arit

met

ica

in v

irgol

a m

obile

per

co

nsen

tire

port

abili

tàde

i pro

gram

mi

–Pr

atic

amen

te s

uppo

rtat

o da

tut

te le

CPU

•N

eces

sità

per

calc

oli n

umer

ici

–St

anda

rd p

er r

ound

ing,

ove

rflo

w, u

nder

flow

•Fo

rmat

o ba

se

–Pr

ecis

ione

sin

gola

(32

bit)

–Pr

ecis

ione

dop

pia

(64

bit)

•Fo

rmat

o es

teso

Prec

isio

ne s

ingo

la e

stes

a (≥

44 b

it)–

Prec

isio

ne d

oppi

a es

tesa

(≥8

0 bi

t)

Page 54: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

IEEE

Flo

atin

g P

oin

t 7

54

Fo

rmat

i

•Es

isto

no d

ue f

orm

e: f

orm

a no

rmal

izza

ta e

for

ma

deno

rmal

izza

ta•

Form

a no

rmal

izza

ta:

(-1)

sx

1.F

x 2E

XP-B

ias

–s

èil

bit

di s

egno

Il pr

imo

bit

della

man

tissa

èse

mpr

e 1,

e n

on è

rapp

rese

ntat

o (b

it im

plic

ito)

–F=

{0,…

,111

..1}

•Il

valo

re 1

.F è

dett

o an

che

sign

ifica

ndo

–L’

espo

nent

e E

èda

to in

for

ma

pola

rizza

ta, o

ssia

si m

emor

izza

EXP

=E+

Bias

(B

ias

èla

cos

tant

e di

pol

ariz

zazi

one)

•Fo

rma

deno

rmal

izza

ta:

(-1)

sx

F x

2Em

in

•U

n nu

mer

o è

quin

di e

spre

sso

med

iant

e la

trip

la d

i val

ori <

S,F,

EXP>

–U

n va

lore

di E

XP=

0 in

dica

che

il n

umer

o è

in f

orm

a de

norm

aliz

zata

Page 55: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Ran

gede

i val

ori(

nor

mal

izza

ti)

Sing

ola

prec

isio

ne32

bit:

1 S

egno

, 8 E

spon

ente

, p=2

3 pe

r F

0-(

1+

[1 –

2-2

3])

x 2

12

7-1

x 2

-12

6≈

212

8

≈3

.4x1

03

8≈

1.2

x 10

-38

0-(

1 +

[1

–2-

52])

x 2

10

23

-1 x

2-1

02

2≈

210

24

≈1

.7x1

03

08

2-1

02

2

Dop

pia

prec

isio

ne64

bit:

1 S

egno

, 11

Espo

nent

e, p

=52

per F

2-1

26

≈2.

2 x

10-3

08

Page 56: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Car

atte

rist

ich

e

•L’

insi

eme

S de

i val

ori r

appr

esen

tabi

li ha

le s

egue

nti p

ropr

ietà

–E’

sim

met

rico

rispe

tto

allo

0–

Esis

te u

n va

lore

min

imo,

xm

indi

vers

o da

0

–Il

tent

ativ

o di

esp

rimer

e un

val

ore

|X|>

0, m

a m

inor

e di

xm

inpr

oduc

e un

derf

low

–Es

iste

un

valo

re m

assi

mo,

xm

ax•

Il te

ntat

ivo

di e

sprim

ere

un v

alor

e |X

|> x

max

prod

uce

over

flow

•Pe

rdita

del

la p

ropr

ietà

del

con

tinuo

–∀

x,y ∈R

(x+

y)/2

∈R

–Ci

òno

n è

vero

in S

(ap

pros

sim

azio

ne)

Calc

olat

ori E

lett

roni

ci, B

eral

di, a

a03

/04

Page 57: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

App

ross

imaz

ion

eEr

rore

rel

ativ

o

•Si

def

inis

ce e

rror

e re

lativ

oil

rapp

orto

•ER

= (

X-x)

/x =

EA/

x, c

on x≠0

.–

Si im

pieg

a x

al d

enom

inat

ore

perc

hé d

i sol

ito s

i dis

pone

del

val

ore

appr

ossi

mat

o –

X =

x(1

+ER

)

•Pe

rché

è u

tile

intr

odur

re t

ale

mis

ura?

•U

n er

rore

di 1

cm

su

una

mis

uraz

ione

di 1

0 m

è d

iver

so c

he u

n er

rore

di

1 c

m s

u un

a m

isur

a di

100

00 K

m !

•E’

lega

to a

lla n

ozio

ne in

tuiti

va d

i pre

cisi

one

Page 58: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Erro

re r

elat

ivo

e pr

ecis

ion

e

•Ca

lcol

iam

o l’e

rror

e as

solu

to m

assi

mo

–Co

nsid

eria

mo

due

valo

ri co

nsec

utiv

i (as

sum

iam

o es

pone

nte

inva

riato

)•

x1=

1.F

x 2

E

•x2

= (

1.F

+2-

p )x

2E

–Fi

ssat

o E,

l’er

rore

mas

sim

o si

com

met

te q

uand

o X

cade

a m

età

fra

x1 e

d x2

.•

max

{EA}

=(x

2-x1

)/2

=(0

,5x2

-p)

x 2E

•Il

valo

re m

inin

o di

x v

ale

–m

in{x

}= 1

.0 x

2E

•L’

erro

re r

elat

ivo

vale

al p

iù–

ERm

ax=

(0,

5x2-

p ) x

2E /

2E =

2-1

x 2-

p =

2-p

-1

•L’

erro

re r

elat

ivo

e qu

indi

la p

reci

sion

e de

lla r

appr

esen

tazi

one

è st

abili

ta d

al

nu

mer

o di

cif

re d

ella

man

tiss

a

Page 59: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Alc

un

i par

amet

ri

-102

2 …

+10

23-1

26 …

+12

7 In

terv

allo

esp

onen

te

Ecce

sso

1023

Ecce

sso

127

Rap

pr. E

spon

ente

6432

Num

ero

di b

it, t

otal

e

5223

Num

ero

bit

della

fra

zion

e F

118

Num

ero

bit

espo

nent

e

11

Num

ero

bit

di s

egno

Dop

pia

Prec

isio

neSi

ngol

a Pr

ecis

ione

Elem

ento

Page 60: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Form

ati

SE

XP

F

Sing

ola

Prec

isio

ne (3

2 bi

t)

3130

......

......

..23

22...

......

......

......

......

......

......

......

......

......

......

......

......

0

SE

XP

F

Dop

pia

Prec

isio

ne (6

4 bi

t)31

30...

......

.....2

019

......

......

......

......

......

......

......

......

......

......

......

......

...0

F

31...

......

......

......

......

......

......

......

......

......

......

......

......

......

......

......

......

......

......

....0

Lung

hezz

a ca

mpi

: 1,8

,23

Lung

hezz

a ca

mpi

: 1,1

1,52

Page 61: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Con

figu

razi

oni

F x

2Emin

(1.F

) x 2

EXP-

Bia

s

±0 ±∞

NaN

Page 62: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Esem

pio

•Ra

ppre

sent

are

in s

ingo

la p

reci

sion

e il

valo

re X

=28

,125

•Pa

rte

Inte

ra–

28 =

16+

8+4

1110

0

•Pa

rte

Fraz

iona

ria

–0,

125

= 1

/8

0,00

1

•X=

1110

0,00

1

•Tr

asfo

rmia

mol

o in

for

mat

o IE

EE 7

54 S

P–

Segn

o =

0–

X =

1,1

1000

01x

24

–F

= 1

1000

01–

EXP=

127+

4 =

131

=12

8+2+

1 10

0000

11–

X =

0 1

0000

011

1100

001

0000

0000

0000

0000

= 0

x41E

1000

0

Page 63: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Esem

pio

•Ca

lcol

are

il va

lore

mas

sim

o,

X max

, es

prim

ibile

in S

P–

EXP=

254

•il

valo

re 2

55=

(111

1111

1)2

è ris

erva

to

–F=

(111

…1)

2, (

23 b

it)–

X max

= (

1.11

…1)

2x

2254

-127

= (

2-2-

23)

x 21

27≈

2128≈3

.4 x

103

8

•Ca

lcol

are

il va

lore

min

imo

X min

che

può

esse

re e

spre

sso

in S

P–

EXP=

1 (il

va

lore

0 è

ris

erva

to)

–F=

0…0

–X m

in=

(1.

00…

00)

2x

21-1

27=

2-1

26≈

1.2

x 10

-38

Page 64: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Esem

pio

La s

tring

a es

adec

imal

e0x

5670

0000

e’ u

n nu

mer

o in

form

ato

IEE

E.7

54.

Cal

cola

rne

il va

lore

.

5 01

016

0110

701

11

0 10

1 01

10 0

111

000

0 00

00 0

000

0000

000

Bit

segn

o =

0nu

mer

o po

sitiv

oE

spon

ente

= b

it (3

0:23

)-12

7=(1

0101

100)

2-1

27 =

172

–12

7 =

45M

antis

sa =

1.b

it(22

:0) =

(1.1

11) 2

= 1

.875

Ris

ulta

to =

+ 1

.875

x 2

45

Page 65: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Esem

pio

La s

tring

a es

adec

imal

e0x

8088

0000

e’ u

n nu

mer

o in

form

ato

IEE

E.7

54.

Cal

cola

rne

il va

lore

.

Seg

no =

bit

(31)

= 1

= -

Esp

onen

te=

bit(3

0:23

) -12

7 =

0000

0001

2-1

27 =

1 –

127

= -1

26M

antis

sa =

1. b

it(22

:0) =

1.0

001 2

Ris

ulta

to =

-1.0

625

x 2-

126

(= -1

.248

96…

.. x

10-3

8 )

Page 66: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica

Esem

pio

•Ra

ppre

sent

are

il va

lore

1 in

sin

gola

pre

cisi

one

IEEE

745

–23

bit

man

tissa

(pa

rte

fraz

iona

ria F

),

–1

segn

o (S

)–

8 es

pone

nte

(EXP

)–

Form

a no

rmal

izza

ta:

1.0

20=

> s

=1,

F=

0, E

XP-1

27=

0 (E

XP=

127)

–s=

0, E

XP=

127=

(011

1111

) 2, F

=0

= (

000.

.0) 2

,

sex

pF

0 0

1111

111

0000

0000

0000

0000

0000

000

0x 3

F

8

0

0

0

0

0

3F/8

0/00

/00

Page 67: Rappresentazione dei numeri ed aritmetica di baseberaldi/Calcolatori_0607/numeri.pdf · Rappresentazione dei numeri ed aritmetica di base . Codifiche dei numeri, agenda • Codifica