Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012
|
|
|
- Adolfo Mariani
- 9 anni fa
- Visualizzazioni
Transcript
1 Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012
2 I numeri reali Sommario Conversione dei numeri reali da base 10 a base B Rappresentazione dei numeri reali Virgola fissa Virgola mobile (mantissa e caratteristica) Rappresentazione della caratteristica in codice eccesso K (K=2 n-1, K=2 n-1-1) Rappresentazione normalizzata Standard IEEE 754 Esercizi 20/03/2012 2
3 Numeri reali interi, frazionari ( F < 1), razionali (esprimibili come quoziente di due interi), irrazionali (es: periodici (es ) 3/20/2012 3
4 Numeri reali Notazione posizionale Nei sistemi posizionali, fissato il valore B della base e l'insieme dei simboli o cifre ( di solito appartenenti all'insieme {0,1,2,..,B-1} ) un numero reale R è rappresentato da: un segno (+ o -), una stringa di cifre costituenti la parte intera, il punto una stringa di cifre costituenti la parte frazionaria. ± d n..d 2 d 1 d 0..d -1 d -2 d -3..d -m
5 Numeri reali Il valore di un numero R (R= d 2 d 1 d 0..d -1 d -2 d -3 es. n= ) espresso in questa notazione è dato dalla formula: R = + d 2 * B 2 +d 1 *B 1 +d 0 *B 0 + d -1 *B -1 + d -2 * B -2 + d -3 *B -3 Se B=10 R= = 10 0 * * * * * * 7 3/20/2012 5
6 Numeri reali Notazione posizionale Nella rappresentazione posizionale il valore di un numero R espresso in questa notazione è dato dalla formula: n-1 m R = d k * B k + d- k * B -k dove: k=0 k=1 B è la base d k (-m..0..n-1) sono le cifre (comprese fra 0 e B-1) della stringa che rappresenta il numero. 3/20/2012 6
7 Conversione da base B a base 10 Dato un numero R espresso, in una base data B, da una sequenza di cifre d 3 d 2 d 1 d 0.d -1 d -2 d -3 per trovare la sua rappresentazione in base 10 basta calcolare il valore della relativa espressione polinomiale Esempio ( ) 2 corrisponde al valore : ( ) 2 = (9.75) 10 3/20/2012 7
8 Conversioe da base 10 a base B Dato un numero R espresso, in base 10, da una sequenza di cifre: g 3 g 2 g 1 g 0.g -1 g -2 g -3 ove R =g 3 * g 2 * g 1 *10 1 +g 0 * g -1 * g -2 * g -3 *10-3 per effettuare la conversione da base 10 a base B è necessario trovare la sua rappresentazione sotto forma di sequenza di altre cifre d 3 d 2 d 1 d 0.d -1 d -2 d -3 Nella nuova base B tale che: R =..d 3 *B 3 + d 2 * B 2 +d 1 *B 1 +d 0 *B 0 + d -1 *B -1 + d -2 * B -2 + d -3 *B /20/2012 8
9 Conversione da base 10 a base B La conversione avviene in due fasi: conversione della parte intera conversione della parte frazionaria e successiva somma dei due contributi. 3/20/2012 9
10 Conversione da base 10 a base B Per quanto riguarda la conversione della parte intera, si si può applicare l algoritmo delle divisioni successive. 3/20/
11 Conversioni di rappresentazione da base 10 a base B Conversione della parte frazionaria Si ricorda che la parte frazionaria F ( F < 1 ) fissato il valore B della nuova base, soddisfa la seguente uguaglianza: F = B -1 * d- 1 + B -2 * d -2 + B -3 * d B -m * d -m /20/
12 Conversioni di rappresentazione da base 10 a base B poiché in F abbiamo tutti esponenti negativi F = B -1 * d- 1 + B -2 * d -2 + B -3 * d B -m * d -m + si può porre: F = B -1 * (d -1 + B -1 * d -2 + B -2 * d B -m-1 * d -m +..) F = B -1 * (d -1 + K) ove K = B -1 * d -2 + B -2 * d B -m-1 * d -m +..) 3/20/
13 Conversioni di rappresentazione da base 10 a base B Se moltiplichiamo F F = B -1 * (d -1 + K) per B la parte intera del risultato ottenuto costituisce la cifra d -1 la nuova parte frazionaria K se è diversa da zero vale: q = B -1 * d -2 + B -2 * d B -(m-1) * d -m +... e ad essa può essere riapplicato il procedimento 3/20/
14 Esempio di conversione da base 10 a base 2 1) V = (5.875) 10 (.) 2 Conversione della parte intera 5 : 2 = 2 con resto 1 2 : 2 = 1 con resto 0 1 : 2 = 0 con resto 1 (5) 10 = (101) 2 Conversione della parte frazionaria.875 * 2 = 1.75 parte intera = 1, parte frazionaria restante = * 2 = 1.5 parte intera = 1, parte frazionaria restante =.5.5 * 2 = 1.0 parte intera = 1, parte frazionaria restante =.0 (.875) 10 = (.111) 2 V = (5.875) 10 ( ) 2
15 Esempio di conversione da base 10 a base 2 2) V = (5.876) 10 (.) 2 Conversione della parte intera 5 : 2 = 2 con resto 1 2 : 2 = 1 con resto 0 1 : 2 = 0 con resto 1 (5) 10 = (101) 2 Conversione della parte frazionaria * 2 = parte intera = 1, parte frazionaria restante = * 2 = parte intera = 1, parte frazionaria restante = * 2 = parte intera = 1, parte frazionaria restante =.008. (.876) 10 (.111) 2 V = (5.875) 10 ( ) 2
16 Esempio di conversione da base 10 a base 2 3) V = (0.3) 10 (.) 2 Conversione della parte intera (0) 10 = (0) 2 Conversione della parte frazionaria.3 * 2 = 0.6 parte intera = 0, parte frazionaria restante =.6.6 * 2 = 1.2 parte intera = 1, parte frazionaria restante =.2.2 * 2 = 0.4 parte intera = 0, parte frazionaria restante =.4.4 * 2 = 0.8 parte intera = 0, parte frazionaria restante =.8.8 * 2 = 1.6 parte intera = 1, parte frazionaria restante =.6 periodico (.3) 10 = (.01001) 2 V = (0.3) 10 (0.1001) 2
17 Esempio di conversione da base 10 a base 2 3) V = (0.3) 10 (.) 2 Conversione della parte intera (0) 10 = (0) 2 Conversione della parte frazionaria.3 * 2 = 0.6 parte intera = 0, parte frazionaria restante =.6.6 * 2 = 1.2 parte intera = 1, parte frazionaria restante =.2.2 * 2 = 0.4 parte intera = 0, parte frazionaria restante =.4.4 * 2 = 0.8 parte intera = 0, parte frazionaria restante =.8.8 * 2 = 1.6 parte intera = 1, parte frazionaria restante =.6 periodico (.3) 10 = (.01001) 2 Non sempre si puo rappresentare finitamente un numero in due basi diverse. V = (0.3) 10 (0.1001) 2
18 Conversione da base 10 a base B Osservazioni sull algoritmo di conversione della parte frazionaria L algoritmo di conversione opera solo su numeri puramente frazionari (ovvero, F < 1), produce a ogni passo una nuova cifra della stringa, la cifra prodotta è la parte intera del risultato della moltiplicazione, l ordine con cui vengono prodotte le cifre è da sinistra verso destra ("allontanandosi" dal punto decimale) da quella più significativa a quella meno significativa.
19 Rappresentazione dei numeri reali Rappresentazione in virgola fissa semplice e intuitiva, non molto usata in pratica Rappresentazione in virgola mobile meno intuitiva, largamente usata 3/20/
20 Rappresentazione in virgola fissa La rappresentazione in virgola fissa è così detta in quanto, stabilito il numero K di bit per memorizzare il numero reale (valori possibili di k sono: 16,32,64) si usa un bit per rappresentare il segno del numero ed i rimanenti K-1 bit vengono suddivisi in due parti una per la memorizzazione della parte intera e una per la parte frazionaria, separate dalla virgola che assume idealmente una posizione fissa. 3/20/
21 Rappresentazione in virgola fissa:osservazioni La granularità (intervallo tra due numeri consecutivi) della rappresentazione in virgola fissa è costante, ne consegue che i numeri reali rappresentabili sono equispaziati Infatti dato un qualsiasi numero reale xxx.yy, il numero successivo è xxx.yy pertanto la differenza tra i due valori è 2-2. Nell esempio della figura la differenza sarebbe /20/
22 Rappresentazione in virgola mobile La rappresentazione in virgola fissa non si presta a rappresentare numeri molto grandi (es ) o molto piccoli (es. 0, ) Per ovviare a ciò si utilizza la rappresentazione in virgola mobile (floating point), detta anche a mantissa e caratteristica. Questo tipo di notazione si basa sulla rappresentazione esponenziale dei numeri, detta anche notazione scientifica. Secondo tale notazione un numero reale V può essere espresso nella seguente forma: V = m * B esp m mantissa (reale) esp esponente (intero) 3/20/
23 Rappresentazione in virgola mobile Nella rappresentazione in virgola mobile (floating point), si esprime come 5.67 * La presenza di altre 11 cifre nella parte intera (oltre il 5) viene espressa dall esponente pari +11 0, si esprime come 9.15*10-14 La presenza di altre 14 cifre nella parte frazionaria (dopo il 9 ) viene espressa dall esponente -14 3/20/
24 Rappresentazione in virgola mobile Poiché esistono infinite coppie (m, esp) in grado di rappresentare, lo stesso valore reale V in notazione scientifica, m mantissa (reale) V = m * B esp esp esponente (intero) ad esempio, se V= , B=10 si possono avere, ad esempio, nella scomposizione mantissa esponente I seguenti valori: 614,357 * ,4357 * ,14357 * , * , * occorre fare una scelta, in modo che la rappresentazione di un dato valore sia unica. 3/20/
25 Rappresentazione in virgola mobile Poiché esistono infinite coppie (m, esp) in grado di rappresentare, lo stesso valore reale V in notazione scientifica, m mantissa (reale) V = m * B esp esp esponente (intero) ad esempio, se V= , B=10 si possono avere, ad esempio, nella scomposizione mantissa esponente I seguenti valori: 614,357 * La condizione -1 di normalizzazione della 61,4357 * 10 0 mantissa ci permette di definire una rappresentazione in Fixed Point molto 6,14357 * efficiente per la mantissa. 0, * , * occorre fare una scelta (normalizzazione della mantissa), in modo che la rappresentazione di un dato valore sia unica. 3/20/
26 Rappresentazione in virgola mobile normalizzata Definizione: Si chiama mantissa normalizzata una mantissa compresa due potenze successive della base. B i-1 m < B i per i=0 B 0-1 m < B 0 1/B m < 1 3/20/
27 Rappresentazione in virgola mobile normalizzata Per i=0 la mantissa normalizzata avrà sempre la forma 0,1xxxx ovvero con la prima cifra a destra della virgola diversa da zero per i=0 B 0-1 m < B 0 1/B m < 1 1/B m < 1 Infatti ricordando che se m è un numero frazionario (m < 1) si ha: m B -1 * -1 + B -2 * B -(m-1) * -m +... Quindi affinché (in qualunque base) la prima cifra sia significativa ovvero diversa da zero deve esserci il termine B -1 * -1 e poi eventualmente gli altri 3/20/
28 Rappresentazione in virgola mobile normalizzata Per i=1 la mantissa normalizzata avrà sempre la forma 1,xxxxx ovvero con la prima cifra a sinistra della virgola diversa da zero per i=0 B 0 m < B 1 1 m < B Per B=2 1 m < 2 3/20/
29 Rappresentazione in virgola mobile normalizzata 3/20/
30 Rappresentazione in virgola mobile normalizzata 3/20/
31 Conversioni di rappresentazione da base 10 a base 2 in notazione esponenziale normalizzata Dato un numero reale in base 10, come si ricava la sua rappresentazione esponenziale normalizzata in una base B assegnata? Si possono seguire due strade: I Metodo Convertire il numero da base 10 a base B e poi operare la normalizzazione
32 Conversioni di rappresentazione da base 10 a base 2 in notazione esponenziale normalizzata 2) Esempio di conversione da base 10 a base 2 Primo Metodo V = (5.875) 10 (.) 2 Conversione della parte intera 5 : 2 = 2 con resto 1 2 : 2 = 1 con resto 0 1 : 2 = 0 con resto 1 (5) 10 = (101) 2 Conversione della parte frazionaria.875 * 2 = 1.75 parte intera = 1, parte frazionaria restante = * 2 = 1.5 parte intera = 1, parte frazionaria restante =.5.5 * 2 = 1.0 parte intera = 1, parte frazionaria restante =.0 (.875) 10 = (.111) 2 V = (5.875) 10 ( ) 2 Normalizzazione della mantissa = * 2 3 con i=0 B=2 m= esp= 3
33 Conversioni di rappresentazione da base 10 a base 2 in notazione esponenziale normalizzata 2) Esempio di conversione da base 10 a base 2 Primo Metodo V = (5.875) 10 (.) 2 Conversione della parte intera 5 : 2 = 2 con resto 1 2 : 2 = 1 con resto 0 1 : 2 = 0 con resto 1 (5) 10 = (101) 2 Conversione della parte frazionaria.875 * 2 = 1.75 parte intera = 1, parte frazionaria restante = * 2 = 1.5 parte intera = 1, parte frazionaria restante =.5.5 * 2 = 1.0 parte intera = 1, parte frazionaria restante =.0 (.875) 10 = (.111) 2 V = (5.875) 10 ( ) 2 Normalizzazione della mantissa = * 2 2 con i=1 B=2 m= esp=2
34 Conversioni di rappresentazione da base 10 a base 2 in notazione esponenziale normalizzata II Metodo Algoritmo per trovare la rappresentazione normalizzata di un numero V in base B: fissare B, trovare le potenze di B tra le quali si trova V prendere la più alta delle due ed assegnare l'indice della potenza all esponente assegnare alla mantissa m il risultato dell'operazione V/B esp Ad esempio, per trovare la rappresentazione normalizzata in base 10 del numero reale V = (5.875) 10 possiamo: porre B=10, considerare che <10 1 fissare esp =1 e assegnare a m = 5.875/10 = Come si vede il valore della mantissa soddisfa la condizione 1/B m <1 infatti (1\B=1\10=0.1) <1
35 Conversioni di rappresentazione da base 10 a base 2 in notazione esponenziale normalizzata Troviamo ora la rappresentazione normalizzata di con base B=2: posto B=2, considerando che < 2 3 (infatti 2 2 = 4 e 2 3 = 8) risulta esp=3 m=5.875/8 = Come si vede il valore della mantissa soddisfa la condizione 1/B m <1 infatti (1\B=1\2=0.5) <1 pertanto si ha: 5.875= *2 3 Effettuando la trasformazione in binario della mantissa ( ) si ottiene: Conversione della parte frazionaria (per divisioni successive) * 2 = parte intera = 1, parte frazionaria restante = * 2 = parte intera = 0, parte frazionaria restante = * 2 = parte intera = 1, parte frazionaria restante = * 2 = 1.75 parte intera = 1, parte frazionaria restante = * 2 = 1.5 parte intera = 1, parte frazionaria restante =.5.5 * 2 = 1.0 parte intera = 1, parte frazionaria restante =.0 ( ) 10 = ( ) 2 Come si può notare anche con questo metodo risulta m= ed esp=3 pertanto risulta che la seguente rappresentazione binaria normalizzata = * 2 3
36 Codifica dell esponente nella rappresentazione in virgola mobile Trattandosi di un intero sono possibili tutte le rappresentazioni studiate per gli interi Modulo e segno Complemento a due Ma viene preferita la rappresentazione Polarizzata o in Codice eccesso 3/20/
37 Rappresentazione in codice eccesso Nella rappresentazione in codice eccesso P (ove P solitamente è pari a 2 k-1,oppure 2 k-1-1) e k è il numero di bit a disposizione, si usano le 2 k diverse combinazioni di bit per rappresentare 2 k numeri di cui metà sono positivi (compreso lo zero) e metà sono negativi. Il range dei numeri rappresentabili nel caso di P= 2 k-1 è [-P, P 1] [-2 k-1, 2 k-1 1] Il range dei numeri rappresentabili nel caso di P= 2 k-1-1 [-P, P] Ciascun numero prima di essere codificato in binario viene sommato all eccesso P. 3/20/
38 Rappresentazione in codice eccesso 2 k-1 Rappresentazione in codice eccesso Il range dei numeri rappresentabili nel caso di P= 2 k-1 è [-P, P 1] [-2 k-1, 2 k-1 1] Esempio k=3, eccesso= 4 l insieme dei numeri rappresentabili è [-4, +3] 3 ( 3+4) ( 2+4) ( 1+4) ( 0+4) (-1+4) (-2+4) (-3+4) (-4+4) 000 3/20/
39 Rappresentazione in codice eccesso P In codice eccesso P (ove P=2 k-1-1) l insieme dei numeri rappresentabili è [-P, +P] Esempio k=3 e eccesso= 3 l insieme dei numeri rappresentabili è [-3, +3] N N+(2 n-1-1) cod. 3 ( 3+3) ( 2+3) ( 1+3) ( 0+3) (-1+3) (-2+3) (-3+3) 000 3/20/
40 Rappresentazione in codice eccesso Vantaggi I numeri negativi e positivi sono ordinati in ordine crescente La rappresentazione per l esponente in codice eccesso 2 k-1 fa sì che due numeri floating point siano confrontabili in grandezza dagli stessi circuiti che confrontano i numeri interi senza segno. 3/20/
41 Come si ricava la rappresentazione in codice eccesso P= 2 k-1 di un numero N su k bit? Si calcola N + P e (se positivo) si codifica il risultato ottenuto su k bit. 3/20/
42 Come si ricava la rappresentazione in codice eccesso Pdi un numero N su m bit? Si calcola N + P e (se positivo) si codifica il risultato ottenuto su k bit. Esempio k=3 e N= -1 P= 2 k-1 =4 La rappresentazione in codice eccesso 4 di N su 3 bit risulta (-1+4=3) 011 3/20/
43 Come si ricava il valore di un numero N data la sua rappresentazione in codice eccesso P? Per definizione, il valore di un intero codice eccesso P è dato dalla formula: espresso in N = - P +2 0 *d *d k-1 *d k-1 dove i d i (i=0..k-1) sono le cifre binarie della rappresentazione del numero. La formula differisce da quella usata per i numeri naturali solo perché viene sottratto P. 3/20/
44 Come si ricava il valore di un numero N data la sua rappresentazione in codice eccesso P? Ad esempio per k=3 e P= 2 2 la sequenza binaria 101 considerando tutti i bit e sottraendo l eccesso corrisponde al valore 1 quindi N=1 mentre la sequenza 001 rappresenta il numero negativo -3 N=-3 Infatti /20/
45 Scelte operative Per rappresentare i numeri Floating Point all'interno di un calcolatore occorre definire il numero di cifre binarie (bit) per rappresentare la mantissa normalizzata; Il numero n di cifre binarie (bit) per rappresentare l esponente; la modalità di rappresentazione dell esponente (intero) la modalità di rappresentazione del segno del numero. In effetti esistono degli standard già definiti da organismi internazionali a cui ci si deve adeguare. In particolare, lo standard internazionale più diffuso é quello stabilito dall'ieee (Institute for Electrical and Electronics Engineering) identificato dalla sigla IEEE 754. Questo standard prevede due formati principali di rappresentazione a 32 bit (semplice precisione ) e a 64 bit ( doppia precisione ). Lo standard IEEE 754 prevede anche valori speciali della mantissa e dell esponente per rappresentare "situazioni anomale" derivanti da particolari operazioni algebriche (es. la divisione per zero). 3/20/
46 Formato floating point standard IEEE 754 (semplice precisione ) Occupa 32 bit (4 byte) 1 bit per il segno (0,1) 8 bit per l esponente rappresentato in codice eccesso bit per la mantissa normalizzata con la prima cifra significativa alla sinistra del punto con hidden bit ovvero nella forma 1.XXXXXXXXX X /20/
47 Formato floating point standard IEEE 754 (semplice precisione ) 3/20/
48 Formato floating point standard IEEE 754 (semplice precisione ) Valori Speciali dell'esponente: esponente = mantissa = 0 significa infinito con segno ± mantissa!= 0 significa NaN (not a number, ad es., 0/0, ± ) esponente = mantissa = 0 significa zero mantissa!= 0 significa numero denormalizzato (serve per rappresentare i valori vicini allo zero) mantissa esponente Zero ± Numero denormalizzato NaN 3/21/
49 Formato floating point standard IEEE 754 (semplice precisione ) Numeri normalizzati Un numero si intende normalizzato quando e e la mantissa è normalizzata tra 1 e 2: 1 m < 2 ovvero nella forma: 1.XXXXXXXXX X In questo caso si usano tutti i 23 bit per rappresentare la sola parte frazionaria (l 1 prima della virgola è implicito) Gli intervalli di numeri normalizzati rappresentati sono pertanto: (-2 128, ] [2-126,2 128 ) Gli estremi sono esclusi perché il massimo valore assoluto di m è molto vicino a 2, ma è comunque inferiore L intervallo (-2-126, ) è detto intervallo di underflow 3/20/
50 Formato floating point standard IEEE 754 (semplice precisione ) Numeri normalizzati Un numero si intende normalizzato quando e e la mantissa è normalizzata tra 1 e 2: 1 m < 2 ovvero nella forma: 1.XXXXXXXXX X In questo caso si usano tutti i 23 bit per rappresentare la sola parte frazionaria (l 1 prima della virgola è implicito) Gli intervalli di numeri normalizzati rappresentati sono pertanto: (-2 128, ] [2-126,2 128 ) Gli estremi sono esclusi perché il massimo valore assoluto di m è molto vicino a 2, ma è comunque inferiore L intervallo (-2-126, ) è detto intervallo di underflow 3/20/
51 Formato floating point standard IEEE 754 (semplice precisione ) esponente = e mantissa!= 0 significa numero denormalizzato mantissa esponente Zero ± Numero denormalizzato NaN 3/20/
52 Formato floating point standard IEEE 754 (semplice precisione ) Numeri denormalizzati Un numero si intende denormalizzato quando e= e la mantissa è normalizzata tra 0 e 1: 0 < m < 1 Quindi, la mantissa è sempre nella forma: 0.XXXXXXXXX X Si usano tutti i 23 bit per rappresentare la sola parte Frazionaria In questo caso la più piccola mantissa vale 2-23 quindi gli intervalli dei numeri denormalizzati rappresentati sono: (-2-126, ] [2-149,2-126 ) 3/20/
53 Formato floating point standard IEEE 754 (semplice precisione ) Numeri denormalizzati Un numero si intende denormalizzato quando e= e la mantissa è normalizzata tra 0 e 1: 0 < m < 1 Quindi, la mantissa è sempre nella forma: 0.XXXXXXXXX X Si usano tutti i 23 bit per rappresentare la sola parte Frazionaria In questo caso la più piccola mantissa vale 2-23 quindi gli intervalli dei numeri denormalizzati rappresentati sono: (-2-126, ] [2-149,2-126 ) 3/20/
54 Rappresentazione in virgola mobile: osservazioni La granularità (intervallo tra due numeri consecutivi) della rappresentazione in virgola mobile è variabile e dipende dal valore della caratteristica associata al numero rappresentato Dato un qualsiasi numero reale m * B esp, il numero successivo è (m+1) * B esp quindi la distanza tra i due è B esp Ne consegue che i numeri reali rappresentabili non sono equispaziati ma addensati in prossimità del più piccolo numero rappresentabile La rappresentazione in virgola mobile, a parità di cifre utilizzate, rispetto alla notazione in virgola fissa estende l intervallo di numeri rappresentati a scapito del numero di cifre significative 3/20/
55 ESEMPIO BASE 10: Rappresentazione in virgola mobile: osservazioni Rappresentazione in virgola fissa a cinque cifre con segno: mantissa con tre cifre con segno ±.XXX ± EE 0.1 m < 1 Esponente: 2 cifre con segno -99 e +99 COMMENTI: Il max numero positivo è quello che ha la mantissa più grande e l esponente più grande entrambi positivi: m= e = + 99 cioè * Il min. valore positivo sarà quello che ha la mantissa più piccola e l esponente negativo più grande: m=+ 0,100 e= - 99 cioè: +0,100 * /20/
56 ESEMPIO BASE 10: Rappresentazione in virgola Rappresentazione in virgola fissa 5 cifre con segno ±XXX.YY Il massimo numero positivo Il minimo valore negativo Intervallo di rappresentazione: [ , ] mobile: osservazioni 3/20/
57 ESEMPIO BASE 10: Rappresentazione in virgola mobile: osservazioni Rappresentazione in virgola mobile ±.XXX ± EE con lo stesso numero di cifre Mantissa: tre cifre con segno 0.1 m < 1 Esponente: 2 cifre con segno -99 e +99 Il massimo numero positivo (quello che ha la mantissa più grande e l esponente più grande entrambi positivi) * Il minimo valore positivo (quello che ha la mantissa più piccola e l esponente negativo più grande) +0,100 * Come si vede esistono dei numeri non rappresentabili sia nell intorno dello zero che al di fuori degli estremi. 3/20/
58 ESEMPIO BASE 10: Rappresentazione in virgola mobile: osservazioni Rappresentazione in virgola mobile ±.XXX ± EE con lo stesso numero di cifre Mantissa: tre cifre con segno 0.1 m < 1 Esponente: 2 cifre con segno -99 e +99 Il massimo numero positivo (quello che ha la mantissa più grande e l esponente più grande entrambi positivi) * Il minimo valore positivo (quello che ha la mantissa più piccola e l esponente negativo più grande) +0,100 * La granularità (intervallo tra due numeri consecutivi) della rappresentazione in virgola mobile è variabile e dipende dal valore della caratteristica associata al numero rappresentato Ne consegue che i numeri reali rappresentabili sono addensati in prossimità del più piccolo numero rappresentabile Dato un qualsiasi numero reale m * B esp, il numero successivo è (m+1) * B esp. quindi la distanza tra i due è B esp 3/20/
59 Rappresentazione in virgola mobile: osservazioni Nella notazione in virgola mobile a parità di bit utilizzati si amplia l intervallo di definizione ma si perde in precisione (3 cifre significative anziché 5) 3/20/
60 Formato floating point standard IEEE 754 (semplice precisione ) estremi degli intervalli Si ha overflow positivo quando si devono rappresentare numeri positivi maggiori di overflow negativo quando si devono rappresentare numeri negativi minori di Si ha underflow positivo quando si devono rappresentare numeri positivi minori di underflow negativo quando si devono rappresentare numeri negativi maggiori di /20/
61 Confronto tra numeri in virgola mobile Per stabilire il maggiore tra due numeri in virgola mobile Si valuta il segno Se i numeri sono di segno discorde, allora il maggiore è il numero positivo altrimenti (i numeri sono di segno concorde) Si valuta l esponente Se i numeri sono positivi è maggiore il numero con l esponente più grande; a parità di esponente, è maggiore il numero con mantissa più grande Se i numeri sono negativi è maggiore il numero con l esponente più piccolo; a parità di esponente, è maggiore il numero con mantissa più piccola 3/20/
62 Formato floating point standard IEEE 754 (doppia precisione ) Occupa 64 bit (8 byte ): 1 bit per il segno, 11 bit per l'esponente rappresentato in codice eccesso bit per la mantissa normalizzata con la prima cifra significativa alla sinistra del punto con hidden bit
63 Esercizio
64 Esercizio
65 Esercizio
66 Esercizio
67 Esercizio Dato ilnumero rappresentato secondo lo standard floating point IEEE 754 determinare il corrispondente valore decimale.
68 Esercizio Dato ilnumero rappresentato secondo lo standard floating point IEEE 754 determinare il corrispondente valore decimale. Soluzione s esponente mantissa -1 * (1.mantissa) * 2 (esponente-127) -1 * (1.111) * 2 ( ) -1 * (1.111) * 2 (2) = = -7.5
69 Esercizio Calcolare gli estremi degli intervalli di definizione dei numeri secondo lo standard IEEE 754 a 32 bit considerando le configurazioni speciali dell esponente. mantissa esponente Zero ± Numero denormalizzato NaN
70 Esercizio Calcolare gli estremi degli intervalli di definizione dei numeri secondo lo standard IEEE 754 a 32 bit considerando le configurazioni speciali dell esponente. Soluzione (-2 128, ] [2-149,2 128 ) Più grande normalizzato: ~±2 128 X ± ~2 ( ) Più piccolo normalizzato: ±2-126 X ± ( ) Più grande denormalizzato: ~ ±2-126 X ± ~ 1 ( ) Più piccolo denormalizzato: ±2-149 X ± ( = 2-23 )
71 Esercizio Calcolare gli estremi degli intervalli di definizione dei numeri secondo lo standard IEEE 754 a 32 bit considerando le configurazioni speciali dell esponente. Soluzione (-2-128, ] [2-149,2 128 ) Più grande normalizzato: ~±2 128 X ± ~2 ( ) Più piccolo normalizzato: ±2-126 X ± ( ) Più grande denormalizzato: ~ ±2-126 X ± ~ 1 ( ) Più piccolo denormalizzato: ±2-149 X ± ( = 2-23 )
72 Esercizi Convertire in binario i seguenti numeri in base 10: a).5 10 = b) = c) = d) =
73 Esercizi Convertire i seguenti numeri decimali secondo lo standard IEEE 754 a 32 bit. a) = b) = c) =
74 Esercizio Calcolare gli estremi degli intervalli di definizione dei numeri secondo lo standard IEEE 754 a 64 bit considerando le configurazioni speciali dell esponente. mantissa esponente Zero ± Numero denormalizzato NaN
Sistemi di Numerazione Binaria
Sistemi di Numerazione Binaria BIN.1 Numeri e numerali Numero: entità astratta Numerale : stringa di caratteri che rappresenta un numero in un dato sistema di numerazione Lo stesso numero è rappresentato
Codifica. Rappresentazione di numeri in memoria
Codifica Rappresentazione di numeri in memoria Rappresentazione polinomiale dei numeri Un numero decimale si rappresenta in notazione polinomiale moltiplicando ciascuna cifra a sinistra della virgola per
Informatica Generale 02 - Rappresentazione numeri razionali
Informatica Generale 02 - Rappresentazione numeri razionali Cosa vedremo: Rappresentazione binaria dei numeri razionali Rappresentazione in virgola fissa Rappresentazione in virgola mobile La rappresentazione
Rappresentazione dei numeri reali in un calcolatore
Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri reali in un calcolatore Lezione 3 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione di numeri
Rappresentazione binaria
Rappresentazione binaria Per informazione intendiamo tutto quello che viene manipolato da un calcolatore: numeri (naturali, interi, reali,... ) caratteri immagini suoni programmi... La più piccola unità
Sistemi di Numerazione Binaria
Sistemi di Numerazione Binaria NB.1 Numeri e numerali Numero: entità astratta Numerale : stringa di caratteri che rappresenta un numero in un dato sistema di numerazione Lo stesso numero è rappresentato
CALCOLO NUMERICO. Rappresentazione virgola mobile (Floating Point)
ASA Marzo Docente Salvatore Mosaico Introduzione al Calcolo Numerico (parte ) CALCOLO NUMERICO Obiettivo del calcolo numerico è quello di fornire algoritmi numerici che, con un numero finito di operazioni
Utilizzata per rappresentare numeri frazionari nella. numero =(mantissa) 2 esponente. Il formato piu utilizzato e quello IEEE P754, rappresentato
Rappresentazione in oating-point Utilizzata per rappresentare numeri frazionari nella notazione esponenziale: numero =(mantissa) 2 esponente Il formato piu utilizzato e quello IEEE P754, rappresentato
FONDAMENTI DI INFORMATICA. Prof. Alfredo Accattatis Slide (rielaborate) del prof. Emiliano Casalicchio
FONDAMENTI DI INFORMATICA Prof. Alfredo Accattatis Slide (rielaborate) del prof. Emiliano Casalicchio 2 Caratteri e codifica Un carattere in MATLAB è rappresentato usando le virgolette singole 'a', 'x',
Fondamenti di Informatica - 1. Esercizi A.A. 2011/2012
Fondamenti di Informatica - 1 Esercizi A.A. 2011/2012 Esercizio Esercizio Esercizio Esercizio Esercizio Dato ilnumero 11000000111100000000000000000000 rappresentato secondo lo standard floating point IEEE
Rappresentazione in virgola mobile Barbara Masucci
Architettura degli Elaboratori Rappresentazione in virgola mobile Barbara Masucci Punto della situazione Abbiamo visto le rappresentazioni dei numeri: Ø Sistema posizionale pesato per Ø Ø Interi positivi
Calcolatori Elettronici Parte II: Sistemi di Numerazione Binaria. Prof. Riccardo Torlone Università di Roma Tre
Calcolatori Elettronici Parte II: Sistemi di Numerazione Binaria Prof. Riccardo Torlone Università di Roma Tre Unità di misura Attenzione però, se stiamo parlando di memoria: 1Byte = 8 bit 1K (KiB: KibiByte)
La codifica. dell informazione
00010010101001110101010100010110101000011100010111 00010010101001110101010100010110101000011100010111 La codifica 00010010101001110101010100010110101000011100010111 dell informazione 00010010101001110101010100010110101000011100010111
Calcolatori Elettronici Parte II: Sistemi di Numerazione Binaria. Prof. Riccardo Torlone Università di Roma Tre
Calcolatori Elettronici Parte II: Sistemi di Numerazione Binaria Prof. Riccardo Torlone Università di Roma Tre Unità di misura Attenzione però, se stiamo parlando di memoria: n 1Byte = 8 bit n 1K (KiB:
Rappresentazione in virgola fissa. Rappresentazione in virgola mobile (floating point)
RAPPRESENTAZIONE DI NUMERI REALI 2 modalità Rappresentazione in virgola fissa Rappresentazione in virgola mobile (floating point) M. GIACOMIN - UNIVERSITA DI BRESCIA ESERCITAZIONI DI FONDAMENTI DI INFORMATICA
Rappresentazione dei Numeri
Rappresentazione dei Numeri Rappresentazione dei Numeri Il sistema numerico binario è quello che meglio si adatta alle caratteristiche del calcolatore Il problema della rappresentazione consiste nel trovare
Esercitazioni su rappresentazione dei numeri e aritmetica. Interi unsigned in base 2
Esercitazioni su rappresentazione dei numeri e aritmetica Salvatore Orlando & Marta Simeoni Interi unsigned in base 2 Si utilizza un alfabeto binario A = {0,1}, dove 0 corrisponde al numero zero, e 1 corrisponde
Notazione posizionale. Codifica binaria. Rappresentazioni medianti basi diverse. Multipli del byte
Codifica binaria Rappresentazione di numeri Notazione di tipo posizionale (come la notazione decimale). Ogni numero è rappresentato da una sequenza di simboli Il valore del numero dipende non solo dalla
Calcolo numerico e programmazione Rappresentazione dei numeri
Calcolo numerico e programmazione Rappresentazione dei numeri Tullio Facchinetti 16 marzo 2012 10:54 http://robot.unipv.it/toolleeo Rappresentazione dei numeri nei calcolatori
Numeri reali. Notazione scientifica (decimale) Floating Point. Normalizzazione. Esempi. Aritmetica del calcolatore (virgola mobile)
Numeri reali Aritmetica del calcolatore (virgola mobile) Capitolo 9 1 Numeri con frazioni Posso essere rappresentati anche in binario Es.: 1001.1010 = 2 4 + 2 0 +2-1 + 2-3 =9.625 Quante cifre dopo la virgola?
Rappresentazione numeri reali
Rappresentazione numeri reali I numeri reali rappresentabili in un calcolatore sono in realtà numeri razionali che approssimano i numeri reali con un certo grado di precisione Per rappresentare un numero
Conversione binario-decimale. Interi unsigned in base 2. Esercitazioni su rappresentazione. dei numeri e aritmetica
Esercitazioni su rappresentazione dei numeri e aritmetica Salvatore Orlando & Marta Simeoni Interi unsigned in base 2 I seguenti numeri naturali sono rappresentabili usando il numero di bit specificato?
Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale
Analogico vs. Digitale LEZIONE II La codifica binaria Analogico Segnale che può assumere infiniti valori con continuità Digitale Segnale che può assumere solo valori discreti Analogico vs digitale Il computer
Lezione 3. I numeri relativi
Lezione 3 L artimetcia binaria: i numeri relativi i numeri frazionari I numeri relativi Si possono rappresentare i numeri negativi in due modi con modulo e segno in complemento a 2 1 Modulo e segno Si
Somma di numeri binari
Fondamenti di Informatica: Codifica Binaria dell Informazione 1 Somma di numeri binari 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 Esempio: 10011011 + 00101011 = 11000110 in base e una base Fondamenti di
Esempio: Il formato floating point standard IEEE P754 (precisione semplice)
Esempio: Il formato floating point standard IEEE P754 (precisione semplice) Mantissa: 23 bit, prima cifra sign. alla sx, hidden bit Esponente: 8 bit, eccesso 127 Formato: (8 bit) (23 bit) 31 30 22 0 S
Esercitazione n. 5. Rappresentazione dei numeri
Esercitazione n. 5 Rappresentazione dei numeri dott. Carlo Todeschini [email protected] Politecnico di Milano A.A. 2009/2010 Queste slide sono distribuite con licenza Creative Commons Attribuzione-Non
Rappresentazione di dati: numerazione binaria. Appunti per la cl. 3 Di A cura del prof. Ing. Mario Catalano
Rappresentazione di dati: numerazione binaria Appunti per la cl. 3 Di A cura del prof. Ing. Mario Catalano Rappresentazione binaria Tutta l informazione interna ad un computer è codificata con sequenze
Rappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point)
Rappresentazione di Numeri Reali Un numero reale è una grandezza continua Può assumere infiniti valori In una rappresentazione di lunghezza limitata, deve di solito essere approssimato. Esistono due forme
Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012
Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 Sommario Operazioni aritmetiche tra numeri in virgola mobile Algoritmi Esempi Errore di rappresentazione (assoluto e relativo) Approssimazione
Rappresentazione dei dati in memoria
Rappresentazione dei dati in memoria La memoria Una memoria deve essere un insieme di oggetti a più stati. Questi oggetti devono essere tali che: le dimensioni siano limitate il tempo necessario per registrare
Aritmetica dei Calcolatori Elettronici
Aritmetica dei Calcolatori Elettronici Prof. Orazio Mirabella L informazione Analogica Segnale analogico: variabile continua assume un numero infinito di valori entro l intervallo di variazione intervallo
Numeri in virgola mobile
Numeri in virgola mobile PH. 3.6 1 Motivazioni virgola mobile Rappresentazione in virgola fissa per rappresentare numeri frazionari fissando la posizione della virgola su una posizione prestabilita Le
Rappresentazione in virgola mobile
Rappresentazione in virgola mobile Architetture dei Calcolatori (lettere A-I) Rappresentazione di numeri reali Con un numero finito di cifre è possibile rappresentare solo un numero razionale che approssima
I sistemi di numerazione. Informatica - Classe 3ª, Modulo 1
I sistemi di numerazione Informatica - Classe 3ª, Modulo 1 1 La rappresentazione interna delle informazioni ELABORATORE = macchina binaria Informazione esterna Sequenza di bit Spett. Ditta Rossi Via Roma
Esercizi su Sistemi di Numerazione Binaria. Prof. Riccardo Torlone Università di Roma Tre
Esercizi su Sistemi di Numerazione Binaria Prof. Riccardo Torlone Università di Roma Tre Esercizio 1 Si consideri una rappresentazione binaria in virgola mobile a 16 bit, di cui (nell'ordine da sinistra
Esercitazione del 09/03/ Soluzioni
Esercitazione del 09/03/2006 - Soluzioni. Conversione binario decimale ( Rappresentazione dell Informazione Conversione in e da un numero binario, slide 0) a. 0 2? 0 2 Base 2 Si cominciano a contare le
Rappresentazione dei Dati
Parte II I computer hanno una memoria finita. Quindi, l insieme dei numeri interi e reali che si possono rappresentare in un computer è necessariamente finito 2 Codifica Binaria Tutti i dati usati dagli
