Università degli Studi di Cassino

Documenti analoghi
Introduzione. Università degli studi di Cassino. Ing. Saverio De Vito Tel.:

Università degli Studi di Cassino e del Lazio Meridionale

Codice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli

La codifica. dell informazione

Rappresentazione dei numeri in un calcolatore

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

Rappresentazioni numeriche

Esame di INFORMATICA (*) Operazioni Aritmetiche: Somma. Lezione 3. Operazioni Aritmetiche: Somma. Operazioni Aritmetiche: Somma

Unità Didattica 2 Rappresentazione dei Dati

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

Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it

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

Codifica dei Numeri. Informatica ICA (LC) 12 Novembre 2015 Giacomo Boracchi

Codifica dati e istruzioni. Lezione 9. Codifica dati e istruzioni. Codifica dati e istruzioni. Codifica binaria dell informazione

Programma del corso. Rappresentazione delle Informazioni. Introduzione agli algoritmi. Architettura del calcolatore

Numeri frazionari. sistema posizionale. due modi: virgola fissa virgola mobile. posizionale, decimale

Sperimentazioni di Fisica I mod. A Lezione 3

Il Modello di von Neumann (2) Prevede 3 entità logiche:

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

Rappresentazione binaria delle informazioni oppure Rappresentazione digitale delle informazioni

Aspetti dell informazione

codifica in virgola mobile (floating point)

Elementi di informatica

Lezione 2. Sommario. Il sistema binario. La differenza Analogico/Digitale Il sistema binario

Corso di Introduzione all Informatica --- Laurea in scienze dell amministrazione --- Prof. G. Giuffrida

Laboratorio di Informatica

I sistemi di numerazione e la numerazione binaria

Elementi di informatica

Fondamenti di Informatica

Codifica dell Informazione

Rappresentazione digitale dell informazione

Modulo: Elementi di Informatica

PROGETTAZIONE DISCIPLINARE MATEMATICA classe 2^

Esercitazioni di Reti Logiche. Lezione 4

INFORMATICA GENERALE E BASI DI DATI PER ARCHIVI AUDIOVISIVI (PRIMO MODULO) Claudio Piciarelli A.A. 2013/2014

Numeri Frazionari. Numeri Frazionari

Codifica dell'informazione e dei programmi

La codifica dell informazione

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

Calcolatore e unità di misura

Rappresentazione in virgola mobile

Rappresentazione dei numeri in un calcolatore

Fondamenti di Informatica. Codifiche per numeri decimali: virgola fissa e mobile

Codifica dell Informazione

INFORMATICA CORSO DI ABILITA' INFORMATICHE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO

Sistemi di Numerazione

Laboratorio di Architettura degli Elaboratori

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico

Elaborazione aut. dei dati

Corso di Laurea in Ingegneria Informatica Analisi Numerica

Informatica Teorica. Macchine a registri

Aritmetica elementare

ARITMETICA. Scomposizione dei numeri in relazione al calcolo. Possibili agganci calcolo mentale. Ciclo. Titolo e data Contenuto Scopo N.o pag.

Richiami sulla rappresentazione dei numeri in una base fissata

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

Algebra di Boole Algebra di Boole

1. NUMERI ED OPERAZIONI SUI NUMERI. a b a b a b a b

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri

Rappresentazione dell informazione

PROGRAMMAZIONE DIDATTICA DI MATEMATICA

Rappresentazione di dati: caratteri. Appunti a cura del prof. Ing. Mario Catalano

Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1

Codifica binaria dei numeri relativi

Scuola Statale Italiana di Madrid Anno scolastico PROGRAMMAZIONE CURRICOLARE DI MATEMATICA Classe quarta B Insegnante: Adriano Adamo

Informatica per l'impresa tra approcci proprietari ed open source. Informatica per l'impresa tra approcci proprietari ed open source

Corso di Fondamenti di Informatica Classi di istruzioni 2

FONDAMENTI DI INFORMATICA Lezione n. 11

Scuola Primaria Salvo D Acquisto Curricolo di Matematica Classe II e III

I.I.S. "Morea-Vivarelli" -- Fabriano CORSO DI TECNOLOGIE E TECNICHE DI RAPPRESENTAZIONE GRAFICA

Materiale di approfondimento: numeri interi relativi in complemento a uno

Informatica! appunti dalle lezioni dal 18/09/2012 al 28/09/2012!!

Aritmetica dei Calcolatori 2

Richiami di aritmetica

Il calcolatore. Architettura di un calcolatore (Hardware)

Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) Software (tutto ciò che non e tangibile)

Esercizi. Esercizi sulla codifica (Parte 1) Elementi di Informatica e Programmazione. Soluzioni degli esercizi Esercizio 2

SCUOLA PRIMARIA MATEMATICA (Classe 1ª)

L intelligenza numerica vol.3

ACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati.

Rappresentazione dell'informazione in un calcolatore:

CURRICOLO VERTICALE MATEMATICA RELAZIONI/ DATI E PREVISIONI/ MISURA

Programma svolto di INFORMATICA. Classe 3 - indirizzo MERCURIO A.S. 2009/2010

Corso di Informatica

TI Texas Instruments Incorporated

Quante informazioni posso rappresentare con n bit?

Architettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione

Numeri frazionari. La codifica dell informazione. Conversione da decimale a binario di un numero frazionario. Rappresentazione dei numeri reali

Rappresentazione di informazioni con un alfabeto finito

Esame di Informatica A.A. 2012/13

Numeri frazionari. La codifica dell informazione. Conversione da decimale a binario di un numero frazionario. Rappresentazione dei numeri reali

Documento scaricato da Codifica numeri e testo

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre

IL CODICE EAN (European Article Number)

Come già detto una misura può farsi tramite confronto diretto con l unità di misura oppure tramite un apposito sistema, più o

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

Laboratorio di Informatica. delle informazioni. Pagina 1

Note sull implementazione in virgola fissa di filtri numerici

CURRICOLO DI MATEMATICA CLASSE PRIMA

SULLA RAPPRESENTAZIONE DECIMALE DEI NUMERI

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1

Transcript:

Corso di Rappresentazione dei dati numerici Aritmetica dei registri Anno Accademico Francesco Tortorella

BIG IDEA: Bits can represent anything!! Caratteri 26 lettere 5 bits (2 5 = 32) Minuscole/maiuscole + punteggiatura 7 bits (in 8) ( ASCII ) Codice standard per rappresentare tutti I linguaggi del mondo 8,16,32 bits ( Unicode ) wwwunicodecom Valori logici 0 False, 1 True Colori 3 valori di intensità per i tre colori fondamentali RGB (3 x 8 bit = 24 bit) Locazioni / indirizzi comandi Ricorda: N bits al più 2 N oggetti

Come rappresentiamo i numeri? Base di numerazione: dieci Cifre: 0 1 2 3 4 5 6 7 8 9 Rappresentazione posizionale possibile per la presenza dello zero Esempio: 3201 = (3x10 3 ) + (2x10 2 ) + (0x10 1 ) + (1x10 0 )

In generale Rappresentazione in base B B-1 cifre 0 1 2 B-1 Rappresentazione dei numeri: d 31 d 30 d 2 d 1 d 0 è un numero a 32 cifre valore = d 31 x B 31 + d 30 x B 30 + + d 2 x B 2 + d 1 x B 1 + d 0 x B 0

Altre basi B=2 : cifre: 0 1 1011010 1x2 6 + 0x2 5 + 1x2 4 + 1x2 3 + 0x2 2 + 1x2 + 0x1 = 64 + 16 + 8 + 2 = 90 7 cifre binarie 2 cifre decimali B=16 : cifre: 0 1 2 3 4 5 6 7 8 9 A B C D E F 524 5x16 2 + 2x16 + 4x1 = 1316 3 cifre esadecimali 4 cifre decimali

Siccome 16=2 4, il passaggio tra le rappresentazioni in base 2 e in base 16 è molto semplice: 3F9 16 0011 1111 1001 1111111001 base 10 16 2 00 0 0000 01 1 0001 02 2 0010 03 3 0011 04 4 0100 05 5 0101 06 6 0110 07 7 0111 08 8 1000 09 9 1001 10 A 1010 11 B 1011 12 C 1100 13 D 1101 14 E 1110 15 F 1111

Quale base usare? Decimale naturale per gli esseri umani Esadecimale utile (agli esseri umani) per esaminare lunghe stringhe di bit Binaria rappresentazione ottimale per il calcolatore perché non usare una codifica binaria della rappresentazione in base 10?

Conversione base 10 base 2 (interi) Come ottenere la rappresentazione in base 2 di un numero intero T rappresentato in base 10? Supponiamo: T=c n-1 x2 n-1 + c n-2 x2 n-2 + + c 2 x2 2 + c 1 x2 1 + c 0 x2 0 c i {0,1} Non conosciamo: le cifre c i il numero di cifre n

Conversione base 10 base 2 (interi) T=c n-1 x2 n-1 + c n-2 x2 n-2 + + c 2 x2 2 + c 1 x2 1 + c 0 x2 0 = (c n-1 x2 n-2 + c n-2 x2 n-3 + + c 2 x2 1 + c 1 ) x2 + c 0 = Q 0 x2 + c 0 Q 0 = T div 2 c 0 = T mod 2 Q 0 = (c n-1 x2 n-3 + c n-2 x2 n-4 + + c 2 )x2 + c 1 = Q 1 x2 + c 1 Q 1 = Q 0 div 2 c 1 = Q 0 mod 2

Conversione base 10 base 2 (interi) void convint(int T,int c[],int &n) { int Q; n=0;q=t; do { } c[n]=q%2; Q=Q/2; n++; } while (Q!=0); La conversione genera le cifre a partire da quella meno significativa Esempio: 75 10? 2

Aritmetica in base 2 Le operazioni aritmetiche si svolgono in maniera analoga a quanto si fa in base 10 + 0 1 0 0 1 1 1 10 * 0 1 0 0 0 1 0 1 tavola pitagorica in base 2

Aritmetica in base 2 1 1 1 1 1 + 1 1 0 = 1 1 0 1 1 0 1 * 1 1 = 1 0 1 1 0 1 1 1 1 1

Aritmetica dei registri I registri di memoria sono supporti di lunghezza finita Ciò impone delle restrizioni all insieme di numeri rappresentabili e, di conseguenza, dei vincoli all aritmetica Registro a N bit 2 N valori diversi rappresentabili Es: 8 bit 256 valori possibile rappresentare l intervallo [0,255]

Aritmetica dei registri Non ci sono problemi nel caso in cui l operazione produce un risultato rappresentabile nel registro 0 1 1 0 1 1 0 1 + 1 0 9 + 1 0 0 0 1 0 0 1 = 1 3 7 = 1 1 1 1 0 1 1 0 2 4 6

Aritmetica dei registri Se l operazione fornisce un risultato R non rappresentabile, si produce un riporto uscente dal registro, mentre all interno rimane una parte della rappresentazione del risultato (R mod 2 N ) 1 1 1 0 1 1 0 1 + 2 3 7 + 1 0 0 0 1 0 0 1 = 1 3 7 = 1 0 1 1 1 0 1 1 0 3 7 4 1 1 8

Aritmetica dei registri L aritmetica dei registri a N bit è caratterizzata da una congruenza mod 2 N Quindi, per N=5: 30+4=2! 11111 00000 00001 11110 0 00010 31 1 30 2 +4 10001 17 16 15 10000 01111

Aritmetica dei registri Il riporto uscente dal registro, generato da un addizione tra numeri interi, si definisce carry Il prestito uscente dal registro, generato da una sottrazione tra numeri interi, si definisce borrow 4 00100 10 01010 + 2 + 00010 + 26 11010 6 0 00110 4 1 00100 carry 4 00100 10 01010-2 - 00010-26 11010 2 0 00010 16 1 10000 borrow

Il circuito sommatore Come è fatta una macchina per sommare i contenuti di due registri da N bit? Partiamo da una macchina per sommare due bit

Addizionatore da 1 bit Esegue l addizione di cifre binarie fornendo in uscita la cifra somma e la cifra riporto Sono possibili due schemi: semiaddizionatore (half adder) 2 cifre in ingresso addizionatore completo (full adder) 2 cifre in ingresso + carry in ingresso

Half adder Tabella ingressi-uscite x y Half Adder s r x y s r 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1

Full Adder Tabella ingressi-uscite x y c Full Adder s r x y c s r 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1

Addizionatore a 4 bit C out in

Rappresentazione dei numeri relativi Rappresentazione in segno e modulo Rappresentazione in complementi alla base Rappresentazione per eccessi

Rappresentazione dei numeri negativi Soluzione più immediata: segno + modulo +/- modulo Problemi dove mettere il segno? doppia rappresentazione per lo zero (+0, -0) operazioni alquanto complicate Possibile convenzione: 0 + 1 -

Rappresentazione dei numeri negativi Soluzione alternativa Che cosa succede in un registro a N bit quando si sottrae un numero da 0? 0 0 0 0 0-0 1 0 0 1 = 11111 00000 00001 11110 00010 31 0 30 1 2 10111 23-9 1 1 0 1 1 1 10001 17 16 15 10000 01111

Complementi alla base 11111 11110-2 10001 00000 00001-1 0 00010 1 2-15-16 15 10000 01111 Caratteristiche: 2 N-1 non-negativi 2 N-1 negativi uno zero quanti positivi? confronto? rappr dello zero

Complementi alla base L intervallo di numeri rappresentati è [-2 N-1 +2 N-1-1] La rappresentazione di un numero x nell intervallo è data da R(x)=(x+2 N ) mod 2 N Il bit più significativo è indicativo del segno ( bit di segno ) 00000 0 00001 +1 00010 +2 00011 +3 01110 +14 01111 +15 10000-16 10001-15 10010-14 11101-3 11110-2 11111-1

Calcolo rapido del complemento alla base Per ottenere rapidamente la rappresentazione in complemento alla base di un numero negativo su N bit si estrae la rappresentazione del valore assoluto del numero su N bit si complementano le cifre ad una ad una si aggiunge 1 Es: complemento alla base su 8 bit di -33 33 10 =00100001 11011110+1=11011111

Operazioni in complemento alla base Le addizioni si realizzano direttamente sulle rappresentazioni in quanto R(x+y)=R(x)+R(y) Anche le sottrazioni si valutano tramite addizioni, ponendo x-y come x+(-y); di conseguenza R(x-y)=R(x)+R(-y) Nel caso in cui l operazione produce un numero al di fuori dell intervallo di rappresentazione si ha un overflow

Operazioni in complemento alla base +4 0100 +4 0100 +2 + 0010-2 +1110 +6 0 0110 +2 1 0010-4 1100 +5 0101-6 1010-2 + 1110 +4 +0100-3 +1101-6 1 1010-7 0 1001 +7 1 0111 overflow

Rappresentazione per eccessi (polarizzata) 11111 11110 14 10001 15 00000 00001 00010 1 0-16 -15-14 -1-2 10000 01111 Caratteristiche: 2 N-1 non-negativi 2 N-1 negativi uno zero quanti positivi? confronto? rappr dello zero

Eccessi L intervallo di numeri rappresentati è [-2 N-1 +2 N-1-1] La rappresentazione di un numero x nell intervallo è data da R(x)=x+2 N-1 Il bit più significativo è indicativo del segno ( bit di segno ) 00000-16 00001-15 00010-14 00011-13 01110-2 01111-1 10000 0 10001 +1 10010 +2 11101 +13 11110 +14 11111 +15

Operazioni in eccessi Le addizioni si realizzano direttamente sulle rappresentazioni in quanto R(x+y)=R(x)+R(y) Anche le sottrazioni si valutano tramite addizioni, ponendo x-y come x+(-y); di conseguenza R(x-y)=R(x)+R(-y) Achtung! Siccome R(x)+R(y)=x+y+2 N-1 +2 N-1, il risultato necessita di una correzione Nel caso in cui l operazione produce un numero al di fuori dell intervallo di rappresentazione si ha un overflow

Confronto tra complementi alla base ed eccessi Entrambe permettono di realizzare una sottrazione tramite addizione (macchine aritmetiche più semplici) Le operazioni in eccessi richiedono un aggiustamento finale La rappresentazione in complementi rende più difficile il confronto

256 224 192 Rappresentazione 160 128 96 Complementi alla base (8 bit) Eccessi (8 bit) 64 32 0-128 -96-64 -32 0 32 64 96 128 Valore rappresentato

Numeri signed e unsigned Un registro di N bit può rappresentare: Numeri assoluti nel range [0, 2 N -1] numeri unsigned Numeri relativi nel range [-2 N-1, 2 N-1-1] numeri signed C Dalla stringa di bit nel registro non si può risalire al tipo di numero memorizzato Quali sono le conseguenze? Operazioni aritmetiche indipendenti dalla rappresentazione nessuna conseguenza Confronto dipendente dalla rappresentazione due tipi di confonto X = 10001 Y = 01110 X > Y? unsigned: SI (17>14) signed: NO (-15<+14)