sistemi di numerazione -...

24
Università degli Studi di Roma – Tor Vergata Facoltà di Ingegneria – Corso di Laurea in Ingegneria Medica SISTEMI SISTEMI DI DI NUMERAZIONE NUMERAZIONE Come i calcolatori rappresentano i Numeri e i Dati Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 2 of 49_ Numeri I numeri rappresentano il modo simbolico per descrivere su un supporto delle quantità. Fin dall’antichità gli esseri umani hanno avuto bisogno di quantificare le cose e gli eventi. Anche gli animali hanno un loro modo di quantificare e qualificare Ci sono popolazioni che ancora usano solo piccoli numeri Alcune popolazioni hanno ideato le loro modalità di rappresentazione

Upload: hoangtu

Post on 17-Feb-2019

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SISTEMI DI NUMERAZIONE - DidatticaWEBdidattica.uniroma2.it/.../corsi/144757/Lezione_03_Numerazione.pdf · Sistemi di numerazione C = C *1000 = 50000 Informatica - Ingegneria Medica

Università degli Studi di Roma – Tor VergataFacoltà di Ingegneria – Corso di Laurea in Ingegneria Medica

SISTEMI SISTEMI DIDI NUMERAZIONENUMERAZIONE

Come i calcolatori rappresentano i Numeri e i Dati

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 2 of 49_

Numeri

I numeri rappresentano il modo simbolico per descrivere su un supporto delle quantità.

Fin dall’antichità gli esseri umani hanno avuto bisogno di quantificare le cose e gli eventi.Anche gli animali hanno un loro modo di

quantificare e qualificareCi sono popolazioni che ancora usano solo piccoli

numeriAlcune popolazioni hanno ideato le loro modalità di

rappresentazione

Page 2: SISTEMI DI NUMERAZIONE - DidatticaWEBdidattica.uniroma2.it/.../corsi/144757/Lezione_03_Numerazione.pdf · Sistemi di numerazione C = C *1000 = 50000 Informatica - Ingegneria Medica

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 3 of 49_

Numerali

Numerale è una stringa di simboli che rappresentano un numero124 BF189AH 100000 MCMLXXXVIII

Il valore non è definibile se non si conoscono le regole che sono state definite per le modalitàdi rappresentazione

NUMERI Maya - Babilonesi - Egizi - Etruschi

Sistemi additivi e sistemi posizionalihttp://it.wikipedia.org/wiki/File:Babylonian_numerals.svg

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 7 of 49_

Sistemi di numerazione

SISTEMI ADDITIVISono stabiliti dei simboli baseIl valore del numero risulta dalla somma o differenza di una sequenza di tali simboli posizionati in modo opportunoNella rappresentazione è insita una operazione matematica non costanteRisulta a volte impossibile rappresentare tutti i numeriPer i Maya ci sono 20 simboli base costituiti da 3 ripetutiPer i Babilonesi 60 costituiti da 2 simboli ripetutiPer i romani sono 7 (I V X L C D M)

Page 3: SISTEMI DI NUMERAZIONE - DidatticaWEBdidattica.uniroma2.it/.../corsi/144757/Lezione_03_Numerazione.pdf · Sistemi di numerazione C = C *1000 = 50000 Informatica - Ingegneria Medica

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 8 of 49_

NUMERAZIONE ROMANAI II III IV V VI VIIsimboli usati e loro pesoI uno V cinque X dieci L cinquanta C cento D cinquecento M milleIl simbolo può avere valore positivo o negativo a

secondo che preceda un simbolo minore o uguale oppure segua un simbolo di peso maggiore.

IV (4=-1+5) VI (6=5+1) XL (40=-10+50) LX (60=50+10)Poi ci sono altre regole …..

Sistemi di numerazione

C = C *1000 = 50000

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 9 of 49_

Sistemi di numerazione

SISTEMI POSIZIONALI o ArabiVi troviamo due condizioni essenziali:1-E’ definito un’insieme di simboli base2-Ad ogni simbolo è associato un peso, che

NON cambia mai.Il valore del numero è funzione del valore

assegnato al simbolo e della posizione in cui il simbolo stesso si trova nel numerale

SIMBOLOGIA della CIFRA decimale0 1 2 3 4 5 6 7 8 9

Page 4: SISTEMI DI NUMERAZIONE - DidatticaWEBdidattica.uniroma2.it/.../corsi/144757/Lezione_03_Numerazione.pdf · Sistemi di numerazione C = C *1000 = 50000 Informatica - Ingegneria Medica

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 10 of 49_

Criterio di rappresentazione-Numeri Naturali

Informatica - Ingegneria Medica - 2013 - Franco Del Bolgia Slide 10 of XX _

Il peso di ogni singolo simbolo è relazionato al precedente ed al successivo dall’aggiunta o dalla sottrazione del peso unitario3 + 1 = 4 = 5 – 1 3 precede 5 segue

Giunti all’ultimo simbolo si ricomincia dal primo simbolo con il riporto di una unità nella PRIMA colonna a sinistra9 + 1 = 0 con il riporto di 1 = 10 19+1 = 0 con il riporto di 1 che sommato a 1(decine) da 2(decine) = 20 e così via fino a 99

99 + 1 = 0 unità con il riporto di 1(decine) che sommato a 9 da 0 con il riporto di 1(centinaia) = 100

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 11 of 49_

Rappresentazioni numeriche Sistema decimale24D = 2x10(1) + 4x10(0) = 20 + 4

4735D = 4x10(3) + 7x10(2) + 3x10(1) + 5x10(0)

= 4000 + 700 + 30 + 5La costruzione di un qualsiasi numero può essere effettuata aggiungendo allo 0 più a destra l’unità tenendo presente che ogni volta che si arriva a 9, l’ulteriore valore è dato dall’aggiunta (riporto) nella colonna a sinistra di 1 e riazzerando il simbolo più a destra. Esempio:

unitàdecinecentinaiamigliaia

0 00 123456789010 1234567892 0Perché gli uomini hanno scelto un sistema decimale! Perché hanno 10 dita!

9 90 01

Page 5: SISTEMI DI NUMERAZIONE - DidatticaWEBdidattica.uniroma2.it/.../corsi/144757/Lezione_03_Numerazione.pdf · Sistemi di numerazione C = C *1000 = 50000 Informatica - Ingegneria Medica

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 12 of 49_

Sistema decimale-Numeri Naturali

Informatica - Ingegneria Medica - 2013 - Franco Del Bolgia Slide 12 of XX _

·Tutti gli infiniti valori interi positivi sono ottenuti da combinazioni ordinate di un numero definito di cifre. Ogni singola cifra assume quindi un peso nel numero, che è funzione della sua posizione.

·7924D = 7*103 + 9*102 + 2*101 + 4*100

·4735D = 4*103 + 7*102 + 3*101 + 5*100

·32196D = 3*104+2*103+1*102 + 9*101 + 6*100

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 14 of 49_

SISTEMI DI NUMERAZIONE a 4 cifre

Informatica - Ingegneria Medica - 2013 - Franco Del Bolgia Slide 14 of XX _

RIPORTO 1ma con erroreOVERFLOW

10000

Page 6: SISTEMI DI NUMERAZIONE - DidatticaWEBdidattica.uniroma2.it/.../corsi/144757/Lezione_03_Numerazione.pdf · Sistemi di numerazione C = C *1000 = 50000 Informatica - Ingegneria Medica

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 15 of 49_

Nunerazione ternaria Realizziamo ora, come esempio una nostra base numerica del tutto arbitraria formata da solo 3 simboli

& di peso 0$ di peso 1§ di peso 2

scriviamo i valori che possiamo rappresentare con quattro cifre partendo da zerosi ottiene la seguente tabella dove nella colonna di sinistra è rappresentato il numero espresso con la nostra base ternaria , mentre nella colonna di destra il numero espresso in base decimale

Base 3 Base 10

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 16 of 49_

L’elettronica nel calcolo

Elettronicamente si possono realizzare dispositivi in grado di effettuare operazioni matematiche.

Dispositivi analogiciSommatoreAmplificatoreIntegratoreDerivatore

Questa tecnologia è però imprecisa e risente in modo pesante di varie condizioni al contorno

Temperatura, rumore, caratteristiche dei singoli componenti nel tempo

Page 7: SISTEMI DI NUMERAZIONE - DidatticaWEBdidattica.uniroma2.it/.../corsi/144757/Lezione_03_Numerazione.pdf · Sistemi di numerazione C = C *1000 = 50000 Informatica - Ingegneria Medica

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 17 of 49_

Rappresentazione Binaria

Anche i calcolatori sono realizzati con tecnologie elettroniche ma le modalità con cui rappresentano le informazioni sono diverse. I circuiti che li compongono vengono fatti funzionare come elementari interruttori, dando così luogo a due soli stati possibili

circuito APERTO o CHIUSO0 o 1

Informatica - Ingegneria Medica - 2013 - Franco Del Bolgia Slide 17 of XX _

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 18 of 49_

Rappresentazione Binaria

Questa condizione può essere sfruttata per definire una base di numerazione diversa da quella decimalecon una base di due soli simboli

che possiede le stesse proprietà e segue le stesse regole dell’algebra. Con opportuni insiemi di interruttori e circuiti adeguati si possono Rappresentare e memorizzare i numeri binariRappresentare funzioni da svolgere

Informatica - Ingegneria Medica - 2012 - Franco Del Bolgia Slide 18 of XX _

Page 8: SISTEMI DI NUMERAZIONE - DidatticaWEBdidattica.uniroma2.it/.../corsi/144757/Lezione_03_Numerazione.pdf · Sistemi di numerazione C = C *1000 = 50000 Informatica - Ingegneria Medica

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 19 of 49_

Rappresentazione Binaria

Nel sistema binario il set di simboli base è composto solo da 0 e 1

unità212223Decimale

0 0000123456 101 11 0 011 07 18 1 00 0 1910 1 011 1

Perché nei computer si utilizza il sistema binario ?

Perché un circuito può avere 2 soli stadi stabili ben definiti aperto o chiuso !

Utilizzando ad esempio una combinazione di 4 cifre binarie (“interruttori”)

duinequartineottine

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 21 of 49_

Rappresentazione Binaria

Il valore della combinazione sarà allora :1011B

1*23 + 0*22 + 1*21 + 1*20 = 8 + 0 + 2 + 11011B binario = 11D decimaleCosì come per il sistema decimale, possiamo

stabilire di lavorare con un numero prefissato di cifre999 tre cifre 99999 cinque cifre 9 una cifra

La singola cifra prende il nome di BIT (Binary Digit)

Page 9: SISTEMI DI NUMERAZIONE - DidatticaWEBdidattica.uniroma2.it/.../corsi/144757/Lezione_03_Numerazione.pdf · Sistemi di numerazione C = C *1000 = 50000 Informatica - Ingegneria Medica

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 22 of 49_

Rappresentazione Binaria

Con 4 cifre decimali si conta da 0 a 9999avendo a disposizione 10000 combinazioni

Con 4 cifre binarie si conta da 0 a 1111 (15D)avendo a disposizione 16 combinazioni

Con 8 cifre binarie da 0 a 11111111 (255D)avendo a disposizione 256 combinazioni

Con k cifre a disposizione posso rappresentare (10k -1) numeri

Con n cifre a disposizione posso rappresentare (2n -1) numeri

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 23 of 49_

Ripetizione dei simboli

00 0 0 0 001 0 0 0 102 0 0 1 003 0 0 1 104 0 1 0 005 0 1 0 106 0 1 1 007 0 1 1 1

08 1 0 0 009 1 0 0 110 1 0 1 011 1 0 1 112 1 1 0 013 1 1 0 114 1 1 1 015 1 1 1 1

Page 10: SISTEMI DI NUMERAZIONE - DidatticaWEBdidattica.uniroma2.it/.../corsi/144757/Lezione_03_Numerazione.pdf · Sistemi di numerazione C = C *1000 = 50000 Informatica - Ingegneria Medica

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 24 of 49_

Codifica esadecimale

0 0 0 0 01 0 0 0 12 0 0 1 03 0 0 1 14 0 1 0 05 0 1 0 16 0 1 1 07 0 1 1 1

8 1 0 0 09 1 0 0 1A 1 0 1 0B 1 0 1 1C 1 1 0 0D 1 1 0 1E 1 1 1 0F 1 1 1 1

La numerazione esadecimale base 16 (sedici simboli pesati) nasce per la necessità di associare (rappresentare un numero binario di 4 cifre), con un unico simbolo pesato, i 6 pesi che hanno valori superiori al 9, dal 10 al 15

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 25 of 49_

Un numero esadecimale è composto da lettere che assumo i per da 10 a 15 con una sola cifra e la base diventa di 16 simboli

A3CDH = A*163 + 3*162 + C*161 + D*160 == 10*4096 + 3*256 + 12*16 + 13*1= 40960 + 768 + 72 +13

A3CDH = 41933D

Page 11: SISTEMI DI NUMERAZIONE - DidatticaWEBdidattica.uniroma2.it/.../corsi/144757/Lezione_03_Numerazione.pdf · Sistemi di numerazione C = C *1000 = 50000 Informatica - Ingegneria Medica

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 26 of 49_

Codifica dei dati – Tipologia dei dati

NumericiNumeri naturali – interi – razionali - irrazionali0,1,2,3,4,5,…. ; -5,-4,-3,…,0,1,2,3,4,5,….;½ ; ¼, 1/8, 1/10 \ 1/3 0,5 ; 0,25 ; 0,125 ; 0,1 ; \ 0,3333…Non numerici (Alfabetici o Alfanumerici)A,a,B,b,C,c,…….., 00150,……Istruzioni+, -, *, /, carica, deposita , trasferisci,……..

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 27 of 49_

Rappresentazione a numero finito di bit

Nell’utilizzo dei sistemi informatizzati è di questione fondamentale stabilire il numero di bit da utilizzare per la rappresentazione dei numeri.Tale numero di bit ci permette di stabilire il massimo \ minimo valore rappresentabile per evitare le condizioni di

OVERFLOW \ UNDERFLOW

Page 12: SISTEMI DI NUMERAZIONE - DidatticaWEBdidattica.uniroma2.it/.../corsi/144757/Lezione_03_Numerazione.pdf · Sistemi di numerazione C = C *1000 = 50000 Informatica - Ingegneria Medica

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 28 of 49_

Errori di rappresentazione

Numeri a precisione finitanumero di cifre definito a priori (es. 2)

80 + 23 = 03 ? (103) errore chiusura o overflow)

Associazione nelle operazioni (Proprietà associativa)70+80-60 = ?70+(80-60)= 70+20 = 90(70+80)-60 = 150 - 60 = -10

Errori di arrotondamento / troncamentoÈ possibile rappresentare esattamente un numero decimale ?SI - Se la parte decimale è multiplo di frazioni di 2 fino al numero di bit che uso per la rappresentazione binaria multiplo di ½ per 1 bit o ¼ per 2 bit o 1/8 per 3 bit etc…

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 29 of 49_

Rappresentazione dei decimali

I decimali si rappresentano con lo stesso criterio posizionale con cui rappresentiamo gli interi.S*102+ S*101+ S*100 +S*10-1 +S*10-2 +S*10-3 (dec)22 + 21 + 20 + 2-1 + 2-2 + 2-3 + 2-4

4 2 1 ½ ¼ 1/8 1/16….. ………………0,5 0,25 0,125 0,0625 …..

101,1011B = 4 + 1 + 0,5 + 0,125 + 0,0625 5,6875D

Rappresentazione in virgola fissa esempi

Page 13: SISTEMI DI NUMERAZIONE - DidatticaWEBdidattica.uniroma2.it/.../corsi/144757/Lezione_03_Numerazione.pdf · Sistemi di numerazione C = C *1000 = 50000 Informatica - Ingegneria Medica

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 30 of 49_

Numeri interiI numeri interi sono l’estensione ai valori negativi dei numeri naturaliSi rappresentano con il segno – (meno) davanti al numero.-14 - 325Per i numeri espressi in binario scritto su carta non ci sono problemi è la stesso meccanismo, ma …(pensiamo al supporto elettronico)

Rappresentazione con bit di segno + = 0 - = 1Rappresentazione complemento ad 1 (obsoleto) Rappresentazione complemento a 2

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 31 of 49_

Rappresentazione con bit di segno 1 bit in piùSe usiamo 5 bit , 1 bit per il segno e 4 bit per il numero

0- 10000-1 10001-2 10010-3 10011-4 10100-7 10111……………-12 11100……………

0+ 000001 000012 000103 000114 001007 00111……………12 01100……………

Intervallo [-15, +15]

È poco usata per l’elevata complessità della circuiteria da realizzare

Doppia rappresentazione dello zero

Page 14: SISTEMI DI NUMERAZIONE - DidatticaWEBdidattica.uniroma2.it/.../corsi/144757/Lezione_03_Numerazione.pdf · Sistemi di numerazione C = C *1000 = 50000 Informatica - Ingegneria Medica

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 32 of 49_

Rappresentazione complemento a 1

Se usiamo 4 bit , 1 bit per il segno e 3 bit per il numero

Intervallo [-7, +7]Per cambiare di segno si complementa bit a bit

Doppia rappresentazione dello zero[-2n-1+1, +2n-1-1]

0- 1111-1 1110-2 1101-3 1100-4 1011-7 1000

0+ 00001 00012 00103 00114 01007 0111

Il complemento si ottiene cambiando0 in 1 e 1 in 00101 complementato 1010

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 33 of 49_

Rappresentazione complemento a 2

I valori negativi sono ottenuti complementando il valore positivo e sommando 1

Con 4 bit (1+3)Intervallo [-8, +7]

UNICA rappresentazione dello zero

[-2n-1, +2n-1-1]

-1 1111-2 1110-3 1101-4 1100-5 1011-6 1010-7 1001-8 1000

0+ 00001 00012 00103 00114 01005 01016 01107 0111

Page 15: SISTEMI DI NUMERAZIONE - DidatticaWEBdidattica.uniroma2.it/.../corsi/144757/Lezione_03_Numerazione.pdf · Sistemi di numerazione C = C *1000 = 50000 Informatica - Ingegneria Medica

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 34 of 49_

Rappresentazione complemento a 2

Intervallo più esteso di una unitàIntervallo asimmetrico Intervallo [-8, +7]Il segno è associato alla sola cifra più significativaSi rappresentano i numeri -2n-1,+2n-2,...... +21, +20

Esempiocomplem + 1

6 = 0110 1001 + 0001 = 1010

-6 = 10101*(-23)+ 0*(22)+ 1*(21) +0*(20) = -8 + 0 + 2 + 0=-6

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 35 of 49_

Interpretazione grafica

Numeri reali positivi

Negativi segnati Negativi c’1 e c‘2

Page 16: SISTEMI DI NUMERAZIONE - DidatticaWEBdidattica.uniroma2.it/.../corsi/144757/Lezione_03_Numerazione.pdf · Sistemi di numerazione C = C *1000 = 50000 Informatica - Ingegneria Medica

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 36 of 49_

Operazioni algebriche

SommaA+B+C+D+E = RisultatoA+B=x x+C=y y+D=z z+E=R

SottrazioneA-B-C-D=Risulatato A-(B+C+D) = RisultatoB+C=x x+D=y A-y=R

MoltiplicazioneA * B = RisultatoA+A+A+A+A+A….B volte = RisultatoB+B+B+B+B……..A volte = Risultato oppure ….

DivisioneA / B = Risultato …… esempio

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 37 of 49_

Operazione somma

Sommare i due numeri 10111 e 11110 a 5 bit

Le operazioni di somma possono aver bisogno di 1 bit in più

1 1 1 1 riporti1 0 1 1 1 +1 1 1 1 0 =

1 1 0 1 0 1

23 +30 =53 (21)

Regole della somma: 0+0 = 00+1 = 11+0 = 11+1 = 1 con riporto di 1

Page 17: SISTEMI DI NUMERAZIONE - DidatticaWEBdidattica.uniroma2.it/.../corsi/144757/Lezione_03_Numerazione.pdf · Sistemi di numerazione C = C *1000 = 50000 Informatica - Ingegneria Medica

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 38 of 49_

Operazioni-Somma

Le operazioni matematiche nel sistema binario si eseguono con le identiche modalitàdel sistema decimaleErrore di overflowsu numeri definiti positivi

173D

101D

274D

274D > 255DOVERFLOW

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 39 of 49_

Operazioni prodotto

Moltiplicare i due numeri 111 e 011 a 3 bit

Le operazioni di prodotto possono aver bisogno di 2n bit dove n è il numero bit stabiliti per la rappresentazione

1 1 1 *0 1 1 = 111 1

111 10 0 01 0 1 0 1

7 *3 =

21

7 * 7 = 49 3 bit110001 = 32+16+1 = 4932.16.8.4.2.1

Risultato 6 bit

Moltiplicare i due numeri 111 e 111 a 3 bit

Page 18: SISTEMI DI NUMERAZIONE - DidatticaWEBdidattica.uniroma2.it/.../corsi/144757/Lezione_03_Numerazione.pdf · Sistemi di numerazione C = C *1000 = 50000 Informatica - Ingegneria Medica

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 40 of 49_

Sottrazione

Regole della sottrazione: 0 - 0 = 01 - 0 = 11 - 1 = 0 0 - 1 = 1 con prestito di 1

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 41 of 49_

Operazioni - sottrazioneI numeri naturali non ammettono i negativiIl minuendo deve essere sempre maggiore del sottraendo

15 – 6 = 90 0 0 0 prestiti1 1 1 1 – 15-0 1 1 0 61 0 0 1 9

13 – 6 = 70 1 1 0 prestiti1 1 0 1 – 13 -0 1 1 0 60 1 1 1 7

6 - 13 = -71 0 0 1 0 prestiti

0 1 1 0 – 6 -1 1 0 1 13

1 1 0 0 1 -7 (25)

Se non ho definito i numeri negativi il suo valore èsbagliato

Page 19: SISTEMI DI NUMERAZIONE - DidatticaWEBdidattica.uniroma2.it/.../corsi/144757/Lezione_03_Numerazione.pdf · Sistemi di numerazione C = C *1000 = 50000 Informatica - Ingegneria Medica

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 42 of 49_

Esempi di somme

1 1 riporti0 0 0 1 + 0 0 1 1 = 0 1 0 0

Sommare i numeri lavorando a 4 bit segnati e non1 1 1 riporti

0 0 1 0 1 + 0 0 1 1 1 = 0 1 1 0 0

La regola è se il risultato ha segno opposta agli operandi di egual segno allora se c’èstato un overflow il risultato non è corretto.

1 1 0 1 1 rip.1 1 1 0 1 1 + 1 1 1 0 0 1 = 1 1 0 1 0 0

NS5 +7 = S12 (-4)

S-5 +-7 =-12 (4)

3 bit con overflow4 bit senza overflow

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 43 of 49_

Sottrazione svolta come sommaA – B = CLa sottrazione prevedeun minuendo Aun sottraendo Bun risultato differenza C

Lo stesso risultato si ottienesommando il minuendo Aal complemento del sottraendo B alla base numericaed eliminando il riporto

9 – 4 = 59 + 6 = 1 1 5

17 – 8 = 917 + 2 = 1 1 9

6 è il complemento a 10 di 4

2 è il complemento a 10 di 8

Page 20: SISTEMI DI NUMERAZIONE - DidatticaWEBdidattica.uniroma2.it/.../corsi/144757/Lezione_03_Numerazione.pdf · Sistemi di numerazione C = C *1000 = 50000 Informatica - Ingegneria Medica

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 44 of 49_

Sottrazione

Operazione svolta in complementocon base

Complemento a 2 del sottraendo

Operazione da svolgerebinario

Operazione svolta in complementocon base 10

Operazione da svolgeredecimale

9 –6 = ------3

9 + 4 = ------13

1001 –0110 =----------0011

1001 +(1001+1)

01001 +11010 =

----------10011

20 –12 = ------

8

20 + 88 =

------108

10100 –01100 =----------01000

10100 +(10011 +1)

1 0 1 0 0 +1 0 1 0 0 =

----------------1 0 1 0 0 0

Nella numerazione binaria effettuare il complemento a due equivale atrasformare gli 1 in 0 e gli 0 in 1 e sommare 1 al risultato

01011 (11) il suo C1s è 10100 + 1 = 10101 (-11)

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 45 of 49_

NumeraliUn numerale è una stringa di cifre (sequenza di simboli) che può rappresentare un numero solo se viene specificata la base.Lo stesso numerale può rappresentare più valori se considerato scritto su basi numeriche diverse.

101110basecentouno mila centodieci in decimale

Valore decimale se …….46D se letto come binario naturale-17D se letto in complemento a 1-18D se letto in complemento a 256D se letto in ottale1052944D se letto in esadecimale

Page 21: SISTEMI DI NUMERAZIONE - DidatticaWEBdidattica.uniroma2.it/.../corsi/144757/Lezione_03_Numerazione.pdf · Sistemi di numerazione C = C *1000 = 50000 Informatica - Ingegneria Medica

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 46 of 49_

Rappresentazione in virgola mobileRisulta molto spesso più agevole rappresentare i numeri in formato diverso (normalizzato) la virgola viene spostata fintantoché la cifra delle unità è 0 mentre la prima cifra decimale èla cifra più significativa del numero, il tutto moltiplicato per una potenza di 10 elevata al numero di passi di cui si è spostata la virgola positiva quando si sposta verso sinistra, negativa quando si sposta verso destra

762342 mantissa1678928 mantissa

segno positivosegno negativo

-5 esponente negativo7 esponente positivo

0,762342D x 10-5D- 0,1678928D x 107

D

0,00000762342D-1.678.928D

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 47 of 49_

Rappresentazione in virgola mobile

Lo stesso vale per la numerazione binaria tutti i numeri sono espressi in base 2

0 segno +1 segno -

1001 (-3) esponente negativo101 (5) esponente base 2

101011B mantissa0110011B mantissa

0,101011BComplemento a 2 1,0110011B

0,101011B x 10B1001 (-3)- 0,1001101B x 10B

101 (5)

0,000101011B- 10011,01B

Page 22: SISTEMI DI NUMERAZIONE - DidatticaWEBdidattica.uniroma2.it/.../corsi/144757/Lezione_03_Numerazione.pdf · Sistemi di numerazione C = C *1000 = 50000 Informatica - Ingegneria Medica

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 48 of 49_

Numero di bit per le rappresentazioni

Numeri in precisione singola32 bit

23 per la mantissa il primo con segno8 per l’esponente di cui il primo è il segno

Si rappresentano i numeri tra -1038 e -10-38 10-38 e 1038

7 bit esponente022 bit mantissa0

22 bit mantissa8 bit esponente0 segno

Modello ISO (internationl Organization for Standardization)OSI (Open System Interconnection protocols) e standard IEEE 754

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 49 of 49_

Numero di bit per le rappresentazioni

Numeri in doppia precisione64 bit

52 per la mantissa il primo con segno11 per l’esponente

Si rappres. i numeri tra -10308 e -10-308 10-308 e 10308

Numeri in quadrupla precisione128 bit

112 per la mantissa il primo con segno15 per l’esponente

Page 23: SISTEMI DI NUMERAZIONE - DidatticaWEBdidattica.uniroma2.it/.../corsi/144757/Lezione_03_Numerazione.pdf · Sistemi di numerazione C = C *1000 = 50000 Informatica - Ingegneria Medica

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 50 of 49_

esempio

52,6975 0,526875 x 10D2

110100,1011 x 10B0 convertito in binario

shift della virgola calcolo dell’esponente0,1101001011 x 10B

0110 26 = 64riconversione in decimale 0,8232422D x 64D = 52,6975

00001100110100101100000000

EsponenteSmantissaS

Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 51 of 49_

Esempio di somma in virgola mobileSupponiamo di voler sommare i valori 5,5 e 2,625 = 8,125

0,1000001*24

2-1 + 2-7 _(0,5 + 0,0078125)*16

Risultato0,5078125 * 16 = 8,125

0,100000*24

(0,5)*16A sei bit di mantissa

0,5 *16= 8

0,010101*230,1011 * 23

1,000001*23Risultato binario

0,10101*220,1011 * 23

10,101*20

2+0+0,5+0+0,125101,1 * 20

4+0+1+0,5

2,6255,5

0,101100 0,010101

1,000001

somma

Page 24: SISTEMI DI NUMERAZIONE - DidatticaWEBdidattica.uniroma2.it/.../corsi/144757/Lezione_03_Numerazione.pdf · Sistemi di numerazione C = C *1000 = 50000 Informatica - Ingegneria Medica

Università degli Studi di Roma – Tor VergataFacoltà di Ingegneria – Corso di Laurea in Ingegneria Medica

Fine Lezione 3