Lezione 1. Rappresentazione dei numeri. Aritmetica dei calcolatori. Rappresentazione dei numeri naturali in base 2

Documenti analoghi
Esercitazioni su rappresentazione dei numeri e aritmetica. Interi unsigned in base 2

Conversione binario-decimale. Interi unsigned in base 2. Esercitazioni su rappresentazione. dei numeri e aritmetica

Interi unsigned in base 2. Esercitazioni su rappresentazione dei numeri e aritmetica. Conversione binario-decimale

Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori

Numeri binari Conversioni numeriche: decimali-binario Operazioni algebriche con numeri binari Russo ing. Saverio

Rappresentazione in virgola mobile Barbara Masucci

Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori"

UD 1.2e: La codifica Digitale dei Numeri CODIFICA DIGITALE DEI NUMERI

Modulo 1: Le I.C.T. UD 1.2e: La codifica Digitale dei Numeri

Rappresentazione in virgola mobile. 4 ottobre 2018

Rappresentazione binaria

Rappresentazione FP IEEE-754 Somme di numeri FP

Rappresentazione binaria

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

Rappresentazione dei dati

Conversione binario-ottale/esadecimale. Conversione binario-ottale/esadecimale. Rappresentazione di Numeri Interi Positivi (numeri naturali)

Rappresentazione dei dati

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

Codifica dell informazione

Rappresentazione numeri reali

Informatica Generale 02 - Rappresentazione numeri razionali

Lezione 3. I numeri relativi

Codifica. Rappresentazione di numeri in memoria

Rappresentazione dei Numeri

Rappresentazione numeri relativi e reali

Rappresentazione dei numeri reali in un calcolatore

Calcolatori Elettronici Parte III: Sistemi di Numerazione Binaria

Rappresentazione dell Informazione

Corso di Fondamenti di Informatica Rappresentazione dei dati numerici Aritmetica dei registri Anno Accademico 2011/2012 Francesco Tortorella

Parte III Indice. Rappresentazione dei valori frazionari. Esercizi. in virgola fissa in virgola mobile III.1. Fondamenti di Informatica

Rappresentazione. Notazione in complemento a 2. Complemento a due su 3 e 4 bit Complemento a due

Rappresentazione dei numeri. Rappresentazione di insiemi numerici mediante insiemi finiti di stringhe di bit Problemi:

Unità aritmetica e logica

Operazioni artimetiche

Rappresentazione in virgola mobile. 5 ottobre 2015

Numeri reali. Notazione scientifica (decimale) Floating Point. Normalizzazione. Esempi. Aritmetica del calcolatore (virgola mobile)

Sistemi di Numerazione Binaria

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi

5DSSUHVHQWD]LRQH)3,((( 6RPPHGLQXPHUL)3

Corso di Calcolatori Elettronici I

04 Aritmetica del calcolatore

Rappresentazione dei Numeri in Virgola Mobile Valeria Cardellini

Rappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point)

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Rappresentazione dell' informazione. Cenni, necessari per capire le caratteristiche dei tipi di dato e delle limitazioni dell'aritmetica del computer

ESERCITAZIONE. Uso dell accessorio calcolatrice per

Lezione 2. Rappresentazione dell informazione

Laboratorio di Informatica

Esercizi. Soluzioni degli esercizi. Soluzioni degli esercizi. Soluzioni degli esercizi. Convertire in formato decimale i seguenti numeri binari:

Rappresentazione dei numeri reali

Algebra di Boole e porte logiche

La codifica. dell informazione

Esercitazione Informatica I (Parte 1) AA Nicola Paoletti

La codifica binaria. Informatica B. Daniele Loiacono

Codifica dell Informazione per il Calcolo Scientifico

N= a i b i. Numeri e numerali. Sistemi di Numerazione Binaria. Sistemi posizionali. Numeri a precisione finita

Richiami sulla rappresentazione dei numeri

Rappresentazione dei dati in memoria

Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale

Fondamenti di Informatica

Calcolatori Elettronici

Lezione 2. Rappresentazione dell informazione

Architetture dei Calcolatori (Lettere

Informatica e Laboratorio di Programmazione Sistema Binario Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione

La codifica binaria. Informatica B. Daniele Loiacono

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico

Sistemi di Numerazione

Sistemi di Numerazione Binaria

Sistemi di Numerazione Binaria a i b i. a m a m-1... a 0. a -1 a a -k

Aritmetica dei Calcolatori Elettronici

Sistemi di Numerazione Binaria

Fundamentals of Computer Science

Codifica dell informazione numerica. Matteo Re, Nicola Basilico,

Notazione posizionale. Codifica binaria. Rappresentazioni medianti basi diverse. Multipli del byte

Rappresentazione di dati: numerazione binaria. Appunti per la cl. 3 Di A cura del prof. Ing. Mario Catalano

Numeri in virgola mobile

Rappresentazione dell informazione. Argomenti trattati: Codifica: Teoria generale. Proprietà di una codifica:

Introduzione. Introduzione

Calcolatori Elettronici Parte II: Sistemi di Numerazione Binaria. Prof. Riccardo Torlone Università di Roma Tre

Numeri frazionari nel sistema binario

Rappresentazione dei Dati

Esercizi. Soluzioni degli esercizi. Soluzioni degli esercizi. Soluzioni degli esercizi

Esercitazione del 03/03/ Soluzioni


Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari

1-Rappresentazione dell informazione

Addizionatori: metodo Carry-Lookahead. Costruzione di circuiti combinatori. Standard IEEE754

Rappresentazione dell informazione


Esercitazione del 05/03/ Soluzioni

Lezione 4. Lezione 4. Rappresentazioni numeriche. Rappresentazioni numeriche. Rappresentazioni numeriche. Rappresentazioni numeriche

Somma di numeri binari

Fondamenti di Programmazione. Sistemi di rappresentazione

Calcolatori Elettronici Parte II: Sistemi di Numerazione Binaria. Prof. Riccardo Torlone Università di Roma Tre

Argomenti trattati: Rappresentazione dell informazione. Proprietà di una codifica: Codifica: Teoria generale

Corso di Informatica B - Sezione D

Rappresentazione dell informazione

Informazione binaria: - rappresentazione dei numeri razionali -

Codifica di informazioni numeriche

Codifica dell informazione numerica

Transcript:

Lezione 1 Rappresentazione dei numeri Aritmetica dei calcolatori Rappresentazione dei numeri naturali in base 2 Si utilizza un alfabeto binario A = {0,1} dove 0 corrisponde al numero zero e 1 corrisponde al numero uno d n-1...d 1 d 0 con di {0,1} Il numero rappresentato? N = d n-1 2 n-1 +... + d 1 2 1 + d 0 2 0 00...0 = 0 00...1 = 1 00...10 = 2... 01...11 = 2 n-1-1 10...00 = 2 n-1... 11...11 = 2 n - 1 Con sequenze di n bit sono rappresentabili 2 n -1 numeri naturali

Rappresentazione dei numeri naturali in base 2 Ricorda che: Domanda: Dire se i seguenti numeri naturali sono rappresentabili usando il numero di bit specificato 1. 20 10 su 5 bit? SI 2. 64 10 su 6 bit? NO 3. 500 10 su 9 bit? SI 4. 1025 10 su 10 bit? NO 2 0 = 1 2 1 = 2 2 2 = 4 2 3 = 8 2 4 = 16 2 5 = 32 2 6 = 64 2 7 = 128 2 8 = 256 2 9 = 512 2 10 = 1024... Conversione binario - decimale Esercizio: 11101012 =???10 1 2 6 + 1 2 5 + 1 2 4 + 0 2 3 + 1 2 2 + 0 2 1 + 1 2 0 = 64 + 32 + 16 + 0 + 4 + 0 + 1 Soluzione: 11101012 = 11710

Conversione decimale - binario Esercizio: 10010 =???2 100 : 2 = 50 resto 0 50 : 2 = 25 resto 0 25 : 2 = 12 resto 1 12 : 2 = 6 resto 0 6 : 2 = 3 resto 0 3 : 2 = 1 resto 1 1 : 2 = 0 resto 1 Soluzione: 10010 = 11001002 Conversione decimale - binario: un procedimento più pratico Si scrive il numero decimale come somma di potenze di 2 Esercizio: 10310 =???2 103-64 = 39 ==> 2 6 39-32 = 7 ==> 2 5 7-4 = 3 ==> 2 2 3-2 = 1 ==> 2 1 1-1 = 0 ==> 2 0 Allora 103 = 2 6 + 2 5 + 2 2 + 2 1 + 2 0 Soluzione: 10310 = 11001112 Ricorda che: 2 0 = 1 2 1 = 2 2 2 = 4 2 3 = 8 2 4 = 16 2 5 = 32 2 6 = 64 2 7 = 128 2 8 = 256 2 9 = 512 2 10 = 1024...

Tre basi importanti : 2, 8, 16 Nel calcolatore i numeri sono rappresentati in base 2, ma sono importanti anche le basi 8 e 16. Infatti, la facilità di conversione binario-ottale binario-esadecimale consente di esprimere i numeri memorizzati nel calcolatore in forma più sintetica e comprensibile. Conversione binario - ottale Esercizio: 101011112 =???8 10 101 111 2 5 7 Soluzione: 101011112 = 2578 Esercizio: 6358 =???2 6 3 5 110 011 101 Soluzione: 6358 = 1100111012

La base 16 Quali dei seguenti sono numeri esadecimali validi? BED CAR 938 DEAD BEBE A129 ACI DECADE BAG DAD 4H3 Conversione binario - esadecimale Esercizio: 1011111011012 =???16 1011 1110 1101 B E D Soluzione: 1011111011012 = BED16 = 305310 Esercizio: A3C916 =???2 A 3 C 9 1010 0011 1100 1001 Ricorda che: 1 10 = 1 16 = 0001 2 2 10 = 2 16 = 0010 2... 9 10 = 9 16 = 1001 2 10 10 = A 16 = 1010 2 11 10 = B 16 = 1011 2 12 10 = C 16 = 1100 2 13 10 = D 16 = 1101 2 14 10 = E 16 = 1110 2 15 10 = F 16 = 1111 2 Soluzione: A3C916 = 10100011110010012 = 4192910

Conversioni di base Esercizio: Considerare il numero 715FBFFA 16 1. Quale numero binario rappresenta? 7 1 5 F B F F A 0111 0001 0101 1111 1011 1111 1111 1010 2. Quale numero ottale rappresenta? 01 110 001 010 111 111 011 111 111 111 010 1 6 1 2 7 7 3 7 7 7 2 3. Quale numero decimale rappresenta? 10 16 0 + 15 16 1 + 15 16 2 + 11 16 3 + 15 16 4 + + 5 16 5 + 1 16 6 + 7 16 7 Rappresentazione dei numeri interi in complemento a due Come si riconosce un numero positivo da uno negativo? Positivo --> bit più significativo 0 Negativo --> bit più significativo 1 Su n bit sono rappresentabili 2 n numeri unsigned (0...2 n -1) 0...00 = 0 0...01 = 1... 01...11 = 2 n-1-1 (massimo) 10...00 = 2 n-1 (minimo)... 11...11 = 2 n - 1 Dato N>0, il numero -N si rappresenta su n bit con il numero 2 n - N -1 ==> 2 n - 1 (1...1) -2 n-1 ==> 2 n - 2 n-1 = 2 n-1 (10...0)

Complemento a due: rappresentazione dei numeri negativi Esercizio: rappresentare -35 10 in complemento a due 00100011 2 = +35 10 11011100 + 1 = ------------ 11011101 Complemento a uno Soluzione: -35 10 = 11011101 2 Complemento a due: rappresentazione dei numeri negativi Esercizio: rappresentare -35 10 in complemento a due Algoritmo alternativo: invertire tutti i bit a sinistra del bit 1 meno significativo 00100011 2 = +35 10 11011101 2

Complemento a due: rappresentazione dei numeri negativi Esercizio: Quale numero decimale rappresenta il seguente numero binario in complemento a due? 1111 1111 1111 1111 1111 1110 0000 1100 2 0000 0000 0000 0000 0000 0001 1111 0100 2 = 2 2 + 2 4 + 2 5 + 2 6 + 2 7 + 2 8 = 500 10 Soluzione: poichè il segno originale 1, cioè negativo, si ha 1111 1111 1111 1111 1111 1110 0000 1100 2 = -500 10 Complemento a due: somma e sottrazione Esercizio: eseguire 53 10-35 10 in complemento a due su 8 bit 11111101 53 10-53 10 + 00110101 2 + 35 10 = (-35) 10 = 11011101 2 = -------- ==> --------- ==> ------------ 18 10 18 10 (100010010 2 ) mod 2 8 00010010 2 = 18 10 ATTENZIONE: ricordare di effettuare l operazione di modulo

Complemento a due: somma e sottrazione Esercizio: eseguire 15 10-38 10 in complemento a due su 8 bit 00011110 15 10-15 10 + 00001111 2 + 38 10 = (-38) 10 = 11011010 2 = -------- ==> --------- ==> --------------------- - 23 10-23 10 (011101001 2 ) mod 2 8 11101001 2 00010111 2 = 23 10 Complemento a due: overflow In quali dei seguenti casi si può ottenere overflow: 1. somma di due numeri con segno concorde? SI 2. somma di due numeri con segno discorde? NO 3. sottrazione di due numeri con segno concorde? NO 4. sottrazione di due numeri con segno discorde? SI Regola per verificare la presenza di overflow: OVERFLOW ==> ultimi due riporti discordi NO OVERFLOW ==> ultimi due riporti concordi

Esercizio Considerate i numeri esadecimali x 1 = 7A, x 2 = 13, x 3 = FF, x 4 = C1, x 5 = 84 1. Scrivere i quattro numeri in codice binario a 8 bit x 1 = 0111 1010 x 2 = 0001 0011 x 3 = 1111 1111 x 4 = 1100 0001 x 5 = 1000 0100 2. Interpretare il codice binario in complemento a due ed eseguire le operazioni x 1 - x 2 ; x 3 + x 4 ; x 4 + x 5 ; x 4 - x 1 11111000 x 1 01111010 + -x 2 11101101 = ------------ (101100111) mod 2 8 = 01100111 overflow? Esercizio (continua) 11111111 x 3 11111111 + x 4 11000001 = ------------ (111000000) mod 2 8 = 11000000 overflow? 10000000 x 4 11000001 + x 5 10000100 = ------------ (101000101) mod 2 8 = 01000101 overflow? 10000000 x 4 11000001 + -x 1 10000110 = ------------ (101000111) mod 2 8 = 01000111 overflow?

Rappresentazione dei numeri razionali in virgola fissa Data una base B, si assegnano: " n cifre per rappresentare la parte intera " m cifre per rappresentare la parte frazionaria Il numero rappresentato? d n-1...d 1 d 0. d -1...d -m N = d n-1 B n-1 +... + d 1 B 1 + d 0 B 0 + d -1 B -1 +... + d -m B -m Per B=2 la rappresentazione dei numeri razionali in virgola fissa prevede l uso di n+m bit n m Rappresentazione dei numeri razionali in virgola fissa Esercizio: 23.625 10 =??? 2 (usare la rappresentazione in virgola fissa con n=8, m=8) " Conversione della parte intera: 23 : 2 = 11 resto 1 11 : 2 = 5 resto 1 5 : 2 = 2 resto 1 2 : 2 = 1 resto 0 1 : 2 = 0 resto 1 " Coversione della parte frazionaria: 0.625 x 2 = 1.25 parte intera 1 0.25 x 2 = 0.50 parte intera 0 0.50 x 2 = 1 parte intera 1 Soluzione: 23.625 10 = 00010111.10100000 2

Rappresentazione dei numeri razionali in virgola mobile (floating point) Un numero reale R può essere scritto come R = ±m B e m = mantissa e = caratteristica B = base Esempi: B = 10 R 1 = 3.1569 x 10 3 R 2 = 2054.00035 x 10-6 R 3 = 0.1635 x 10 2 R 4 = 0.0091 x 10-12 " notazione scientifica: m = 0. d -1...d -k notazione scientifica normalizzata: m = d 0. d -1...d -k con d 0 0 Rappresentazione dei numeri razionali in virgola mobile (floating point) Rappresentando mantissa ed esponente in binario si ottengono numeri del tipo ±1. ss...s 2 yy...y Si osservi che: " Spostare la virgola a destra di n bit significa decrementare di n l esponente es: 0.01 2 11 = 1.0 2 1 Infatti 1 ¼ 2-2 2 3 = 1 2 1 " Spostare la virgola a sinistra di n bit significa incrementare di n l esponente es: 100.011 2 11 = 1.00011 2 101 Infatti (1 2 2 + 1 2-2 + 1 2-3 ) 2 3 = (1 2 0 + 1 2-4 + 1 2-5 ) 2 5 2 5 + 2 1 + 2 0 = 2 5 + 2 1 + 2 0

Rappresentazione dei numeri razionali in virgola mobile (floating point) Esercizio: 10 10 =??? 2 f.p. 10 10 = 1010 2 = 1010.0 2 2 0 = 1.01 2 3 Esercizio: 151.25 10 =??? 2 f.p. 151 10 = 128 + 16 + 4 + 2 + 1 = 10010111 2 0.25 10 x 2 = 0.50 10 parte intera 0 0.50 10 x 2 = 1 10 parte intera 1 0.25 10 = 0.01 2 Quindi = 151.25 10 = 10010111.01 2 = 1.001011101 2 2 7 Rappresentazione dei numeri razionali in virgola mobile (floating point) Una volta fissato il numero di bit totale per la rappresentazione dei numeri razionali rimane da decidere " quanti bit assegnare per la mantissa? (maggiore? il numero di bit e maggiore? l accuratezza con cui si riescono a rappresentare i numeri) " quanti bit assegnare per l esponente? (aumentando i bit si aumenta l intervallo dei numeri rappresentabili) OVERFLOW: si ha quando l esponente positivo? troppo grande per poter essere rappresentato con il numero di bit assegnato all esponente UNDERFLOW: si ha quando l esponente negativo? troppo grande per poter essere rappresentato con il numero di bit assegnato all esponente

Rappresentazione dei numeri razionali in virgola mobile (floating point) " Standard IEEE754: Singola precisione (32 bit) si riescono a rappresentare numeri 2.0 10 2-38 2.0 10 2 38 " Standard IEEE754: Doppia precisione (64 bit) si riescono a rappresentare numeri 2.0 10 2-308 2.0 10 2 308 Esercizio Supponiamo di contare in binario usando le dita delle mani: Dito esteso = 1 Dito chiuso = 0 Consideriamo il pollice come bit meno significativo e il mignolo come bit più significativo. 1. Come si rappresentano i numeri 6, 17, 31? 2. Fino a che numero si riesce a contare usando entrambe le mani? [2 10-1] 3. E... usando anche i piedi? [2 20-1] 4. Considerate il mignolo del piede sinistro come bit di segno della rappresentazione in complemento a due. Quale range di numeri si riesce a rappresentare? [-2 19...+(2 19-1)]