Aritmetica dei Calcolatori

Documenti analoghi
Aritmetica dei Calcolatori

Aritmetica dei Calcolatori

Aritmetica dei Calcolatori

Informazione binaria: - rappresentazione dei numeri naturali e interi relativi -

1.2f: Operazioni Binarie

Aritmetica dei Calcolatori - Operazioni

Informatica, Informazione e Telecomunicazioni. La codifica dell informazione. Supporto e informazione. Il concetto di informazione

Informatica, Informazione e Telecomunicazioni. La codifica dell informazione. Il concetto di informazione. Supporto e informazione

Lezione 3. I numeri relativi

Aritmetica in complemento a due. 29 settembre 2017

Rappresentazione dei Dati

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

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

Codifica binaria. Rappresentazioni medianti basi diverse

Codifica binaria: - numeri interi relativi -

I.4 Rappresentazione dell informazione - Numeri con segno

Architettura degli elaboratori - 2 -

Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori

Rappresentazione numeri con e senza segno ([PH] par. 2.4) Giovedì 1 ottobre 2015 (ore 9-13)

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

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

Rappresentazione di numeri relativi (interi con segno) Rappresentazione di numeri interi relativi (con N bit) Segno e Valore Assoluto

Soluzioni Esercizi su rappresentazione binaria dell informazione

Interi positivi e negativi

CONVERSIONE BINARIO DECIMALE NB: Convertire in decimale il numero binario N = N =

Un ripasso di aritmetica: Rappresentazione decimale - limitazioni

Rappresentazione in complemento a 2: caratteristiche generali

La codifica delle informazioni numeriche ed alfanumeriche.

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

La "macchina" da calcolo

La codifica dei numeri

Rappresentazione della informazione

Corso di Calcolatori Elettronici I

Rappresentazione dei Numeri

Unita aritmetica e logica. Input e output della ALU. Rappresentazione degli interi. Rappresentazione in modulo e segno. Aritmetica del calcolatore

Rappresentazione dell'informazione

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

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2

Somma di numeri binari

Codifica delle Informazioni. Lezione II bis

Rappresentazione dei numeri interi in un calcolatore

Rappresentazione dell informazione. Rappresentazione dell informazione. Rappresentazione dell informazione. Codifica dei numeri

Rappresentazione dell Informazione

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

Rappresentazione e Codifica dell Informazione

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

APPUNTI DI INFORMATICA

La codifica. dell informazione. Codifica dei numeri. (continua) Codifica dei numeri. Codifica dei numeri: il sistema decimale

Conversione di base. Conversione decimale binario. Si calcolano i resti delle divisioni per due

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

04 Aritmetica del calcolatore

Rappresentazione dei numeri interi in un calcolatore

Rappresentazione dei numeri interi in un calcolatore. Rappresentazione dei numeri

La codifica. dell informazione

Arithmetic and Logic Unit e moltiplicatore

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

Fondamenti di Programmazione. Sistemi di rappresentazione

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

La codifica. dell informazione

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

Corso di Architettura degli Elaboratori

Aritmetica binaria e circuiti aritmetici

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

Rappresentazione di numeri interi

Modulo: Elementi di Informatica

1.2 Concetti base dell Informatica: Informazione

Sistemi di Numerazione

Modulo: Informatica 13/12/2010 SISTEMI INFORMATICI SISTEMI INFORMATICI SISTEMI INFORMATICI

1-Rappresentazione dell informazione

La Rappresentazione dell Informazione

La rappresentazione dei numeri. La rappresentazione dei numeri. Aritmetica dei calcolatori. La rappresentazione dei numeri

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi

Rappresentazione dei numeri binari.

Modulo 1 I numeri. Università degli Studi di Salerno

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

Rappresentazione dei numeri

Appunti di informatica. Lezione 4 anno accademico Mario Verdicchio

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

Rappresentazione dell informazione

Appunti di informatica. Lezione 3 anno accademico Mario Verdicchio

Codifica dell Informazione per il Calcolo Scientifico

Numeri con segno ed in virgola

Rappresentazione informazione ed elementi di aritmetica dei computer

Aritmetica dei calcolatori. La rappresentazione dei numeri

NUMERI NATURALI: INTERVALLO DI VALORI RAPPRESENTABILI INFORMAZIONI NUMERICHE

Rappresentazione dei numeri

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

Calcolo numerico e programmazione Rappresentazione dei numeri

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

Abilità Informatiche e Telematiche

Algoritmi Istruzioni che operano su dati. Per scrivere un programma è necessario. che l esecutore automatico sia in grado di.

Modulo e segno Complemento a 1 (CA1) Complemento a 2 (CA2)

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

Codifica. Rappresentazione di numeri in memoria

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Transcript:

Aritmetica dei Calcolatori Luca Abeni March 5, 2014

Codifica dei Numeri Interi k bit codificano 2 k simboli/valori/numeri... Si usa la base 2 per codificare i numeri Numeri naturali n N: valori da 0 a 2 k 1 Come codificare numeri interi z Z? Problema: numeri negativi z < 0 z / N Si codificano sempre 2 k valori...... Ma quali??? Varie possibilità: modulo e segno, complemento a 1, complemento a 2,... IEP1 Luca Abeni 2 / 15

Codifica con Modulo e Segno Idea semplice: si usano k 1 bit per rappresentare il valore assoluto (modulo) del numero......ed un bit per codificare il segno! bit più significativo a 0: numero positivo bit più significativo a 1: numero negativo Valori codificati: da 2 k 1 +1 a 2 k 1 1 2 k 1 valori??? Come mai??? Due diverse sequenze di bit per codificare lo 0? (+0 e 0???) 1 k 1 k 1 {}}{{}}{ 000...0 vs 0000...0 IEP1 Luca Abeni 3 / 15

Codifica in Complemento a 1 Altra idea semplice: i numeri negativi si rappresentano facendo il complemento ad 1 del valore assoluto Numero positivo: rappresento il valore assoluto Numero negativo: cambio 0 in 1 e viceversa (complemento a 1 di k {}}{ x: 1...1 x = (2 k 1) x) Numeri positivi: ancora, bit più significativo a 0 Ancora, due rappresentazioni dello 0 (+0 e 0)? k {}}{ 111...1 vs k {}}{ 000...0 Modulo e segno Non facile da sommare... Complemento a 1 a volte le cose vanno meglio (se il bit più significativo non da riporto, OK) IEP1 Luca Abeni 4 / 15

Somma di Numeri in Complemento a 1 Algoritmo per sommare numeri interi codificati in complemento a 1: 1. Sommare le rappresentazioni dei due numeri 2. Se la somma del bit più significativo da riporto, sommarlo al risultato 3. Se i riporti delle due cifre più significative della nuova somma sono uguali, il risultato è attendibile 4. Altrimenti, il risultato non è rappresentabile su k bit Esempio: 6+ 3 (codifica su 5 bit) 6 = 00110; 3 = 00011 = 11100 00010+1 = 00011 (= 3) 1 1 1 0 0 1 1 0 1 1 1 0 0 0 0 0 1 0 IEP1 Luca Abeni 5 / 15

Complemento a 2 Complemento a 2 di un numero binario: Scorrere i bit a partire dalla destra Fino al primo bit che vale 1 (compreso), lasciare invariato A partire dal bit successivo, fare il complemento a 1 Equivalente a fare il complemento a 1 e poi sommare 1 Complemento in base 2 di x: 2 k x = 1 k {}}{ 0...0 x Esempio: complemento in base 2 di 87 (= 1010111 2 ) L 1 più a destra rimane invariato; inverto le altre cifre. 0101001 2 7 2 1010111 2 = 10000000 2 1010111 2 = 101001 Complemento a 1 +1: 0101000+1 = 101001 IEP1 Luca Abeni 6 / 15

Codifica in Complemento a 2 Numeri positivi: rappresentare il valore assoluto Numeri negativi: rappresentati usando il complemento a 2 del valore assoluto Ancora, il bit più significativo indica il segno Stavolta, la codifica dello 0 è unica Codifica i numeri da 2 k 1 a 2 k 1 1 E stavolta, la somma è semplice... x+( y) = x+(2 k y) = 2 k +x y......su k bit, questo è equivalente a x y IEP1 Luca Abeni 7 / 15

Esempi di Codifica decimale modulo e segno complemento a 1 complemento a 2-4 100-3 111 100 101-2 110 101 110-1 101 110 111 0 100 / 000 111 / 000 000 1 001 001 001 2 010 010 010 3 011 011 011 IEP1 Luca Abeni 8 / 15

Somme e Sottrazioni in Base 2 Come normalmente in base 10 (numeri in colonna, riporto, etc...) Se si usa complemento a 2, funziona anche con numeri negativi Ma occhio agli overflow!!! Overflow? Numeri su k bit, ma risultato non rappresentabile su k bit Matematica dell orologio... Esempi: k = 6,5+12 1 1 0 0 0 1 0 1 0 0 1 1 0 0 0 1 0 0 0 1 k = 7,5 8; k = 7, 5+8; k = 7, 64 8; k = 7,63+1; IEP1 Luca Abeni 9 / 15

Esempi Senza Overflow k = 7,5 8 5 = 0000101 2 ; 8 = 0001000 2 +1 2 = 1110111 2 +1 2 = 1111000 2 0 0 0 0 1 0 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 1111101 2 =... (1111101 2 +1 2 ) = 0000011 2 = 3 k = 7, 5+8 5 = 0000101 2 +1 = 1111010 2 +1 2 = 1111011; 8 = 0001000 2 1 1 1 1 0 0 0 0 1 1 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0000011 2 = 3 IEP1 Luca Abeni 10 / 15

Esempio di Overflow k = 7, 64 8 64 = 1000000 2 ; 64 = 1000000 2 +1 2 = 0111111 2 +1 2 = 1000000 2 8 = 0001000 2 ; 8 = 0001000 2 +1 2 = 1110111 2 +1 2 = 1111000 2 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0111000 2 = 56... WTH??? Sommando 2 numeri negativi si ottiene un numero positivo??? 64 8 = 72... Posso rappresentare numeri fra 2 6 = 64 e 2 6 1 = 63... 72 non è rappresentabile!!! IEP1 Luca Abeni 11 / 15

Esempio di Overflow k = 7,63+1 63 = 0111111 2 1 = 00000001 2 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1000000 2 = (1000000 2 +1) = (0111111 2 +1 2 ) = 1000000 = 64... WTH??? Sommando 2 numeri positivi si ottiene un numero negativo??? Ancora, il risultato corretto (63 + 1 = 64) non sarebbe rappresentabile... IEP1 Luca Abeni 12 / 15

Esempi ed Esercizi Numeri su k = 7 bit, codificati in complemento a 2 Verificare se c è overflow 0110110 + 0000011 Somma di due numeri positivi: mi aspetto risultato positivo... 1001010 + 1111101 Somma di due numeri negativi: mi aspetto risultato negativo... 1001010 + 1100000 0100000 + 1111010 1100000 + 0000110 IEP1 Luca Abeni 13 / 15

La Matematica dell Orologio Aritmetica modulare: considero solo n numeri interi Numeri da 0 a n 1......O numeri da n/2 a n/2 1... Quando contando arrivo al numero più grande, riparto dal più piccolo Se i numeri vanno da 0 a n 1, contando dopo (n 1)+1 = 0 (contando dopo n 1 riparto da 0) Se i numeri vanno da n/2 a n/2 1, contando dopo n/2 1+1 = n/2 È come se i numeri stessero sul quadrante di un orologio! Definizione più formale: si usano classi di congruenza modulo n Relazione di equivalenza fra due numeri: a b a%n = b%n IEP1 Luca Abeni 14 / 15

Cosa Succede in Caso di Overflow? Operazioni su numeri naturali rappresentati su k bit aritmetica modulo 2 k Calcolando a+b si ottiene in realtà (a+b)%2 k......se il risultato della somma è < 2 k, allora (a+b)%2 k = a+b no overflow! Altrimenti, in risultato appare strano... Usando rappresentazione in complemento a 2 dei numeri interi, il discorso è analogo: Se il risultato di una somma a+b è compreso fra 2 k 1 e 2 k 1 1, allora no overflow (risultato corretto)! Se il a+b < 2 k 1, ottengo a+b+2 k. Positivo!!! Overflow! Se il a+b > 2 k 1 1, ottengo a+b 2 k. Negativo!! Overflow! IEP1 Luca Abeni 15 / 15