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

Documenti analoghi
Aritmetica in complemento a due. 29 settembre 2017

Rappresentazione dell informazione. 27 settembre 2018

Rappresentazione delle frazioni proprie Aritmetica in binario Barbara Masucci

Interi positivi e negativi

Lezione 3. I numeri relativi

AXO Architettura dei Calcolatori e Sistemi Operativi. aritmetica binaria intera

I.4 Rappresentazione dell informazione - Numeri con segno

Corso di Calcolatori Elettronici I

Codifica binaria. Rappresentazioni medianti basi diverse

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

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

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

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

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

Cap. 2 - Rappresentazione in base 2 dei numeri interi

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

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

04 Aritmetica del calcolatore

Rappresentazione dei numeri interi in un calcolatore

Rappresentazione dei numeri interi in un calcolatore. Rappresentazione dei numeri

Rappresentazione dei numeri interi in un calcolatore

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

1.2f: Operazioni Binarie

Architettura degli elaboratori - 2 -

Aritmetica binaria e circuiti aritmetici

1.2 Concetti base dell Informatica: Informazione

Rappresentazione dei numeri

NUMERI NATURALI: INTERVALLO DI VALORI RAPPRESENTABILI INFORMAZIONI NUMERICHE

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

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

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

Aritmetica dei Calcolatori

Numeri con segno ed in virgola

La codifica. dell informazione

Unità aritmetica e logica

Rappresentazione dell informazione

Programmazione I Paolo Valente /2017. Lezione 6. Notazione posizionale

Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori

La codifica delle informazioni numeriche ed alfanumeriche.

Codifica di informazioni numeriche

SISTEMI DI NUMERAZIONE POSIZIONALI

Rappresentazione dei numeri in un calcolatore

Rappresentazione di numeri interi

Programmazione I Paolo Valente /2018. Lezione 6. Notazione posizionale

La codifica. dell informazione. (continua) Codifica dei numeri. Codifica dei numeri. Sono stati pertanto studiati codici alternativi per

Rappresentazione e Codifica dell Informazione

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

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

Rappresentazione in virgola mobile. 4 ottobre 2018

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

1-Rappresentazione dell informazione

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

Abilità Informatiche e Telematiche

Sistemi di numerazione

Rappresentazione dell informazione

Rappresentazione in complemento a 2: caratteristiche generali

Codifica dell informazione numerica

Algebra di Boole e porte logiche

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

La codifica. dell informazione

Rappresentazione in virgola mobile. 5 ottobre 2015

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

Risoluzione degli esercizi proposti dall 1 al 6

Codifica dell informazione numerica

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

Seconda lezione. Rivediamo un po di definizioni principali Proseguiremo con nuovi codici

La Rappresentazione dell Informazione

Rappresentazione della informazione

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

Somma di numeri binari

Rappresentazione informazione ed elementi di aritmetica dei computer

Rappresentazione dell informazione

Rappresentazioni numeriche

Rappresentazione in virgola mobile Barbara Masucci

Codifica binaria: - numeri naturali -

Modulo: Elementi di Informatica

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

Rappresentazioni numeriche

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

Calcolo numerico e programmazione Rappresentazione dei numeri

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

1.2 Concetti base dell Informatica: Informazione

Esercitazione 0. Alberto Marchesi Informatica A Ingegneria Matematica (sez. 2) 25 Settembre 2019

Corso di Informatica

Rappresentazione dell informazione

Numeri interi (+/-) Alfabeto binario. Modulo e segno

Sistemi di Numerazione Binaria

La rappresentazione dell informazione

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

Rappresentazioni numeriche

Sistemi di Numerazione Binaria

Lezione 9 Aritmetica in virgola mobile (3)

Rappresentazione binaria

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

Rappresentazione dei numeri

La "macchina" da calcolo

Rappresentazione dell informazione

Transcript:

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

Punto della situazione Abbiamo visto: la rappresentazione dei numeri positivi con e senza virgola nel sistema posizionale; in particolare basi 2, 8, 10, 16 e conversioni Codifica simboli non numerici (ASCII) Oggi vedremo le rappresentazioni per numeri con il segno; in particolare la rappresentazione in complemento a 2 e la sua aritmetica. Oggi 4 ore: lezione ed esercitazioni Domani: né lezione né ricevimento

Rappresentazione in complemento a 2: vantaggi Una sola rappresentazione per lo zero Intervallo di rappresentazione: [-2 n-1, 2 n-1 1 ] per es. con 4 bit [-8, +7] anzichè [-7, +7] L aritmetica è più semplice Cambiare di segno/ ottenere l opposto è ancora semplice. Un osservazione.

Somma di potenze consecutive di 2 2 6 + 2 5 + 2 4 + 2 3 + 2 2 + 2 1 + 2 0 = 2 7-1 k i 0 2 i 2 k 1 1 2 6 + 2 5 + 2 4 + 2 3 + 2 2 = 2 6 + 2 5 + 2 4 + 2 3 + 2 2 + 2 1 + 2 0 ( 2 1 + 2 0 )= = (2 7 1) (2 2 1) = 2 7 2 2 k i h 2 i k 2 1 2 h

Complemento a Due Il bit più a sinistra/più significativo viene utilizzato come segno: 0 significa positivo 1 significa negativo Il peso del bit di segno è negativo Il valore di b n-1 b n-2 b 0 è dato dalla relazione N 2 n 1 b n 1 n 2 i 0 2 i b i

Esempio con n=4 bit 0 000 = 0 0 001 = 1 0 010 = 2 0 011 = 3 0 100 = 4 0 101 = 5 0 110 = 6 0 111 = 7 Massimo=7 minimo=-8 1 000 = -8 1 001 = -8 +1=-7 1 010 = -8+2=-6 1 011 = -8+3 =-5 1 100 = -8+4=-4 1 101 = -8+5=-3 1 110 = -8+6=-2 1 111 = -8+7=-1 Intervallo di rappresentazione con 4 bit: [-8, +7]

Esempio con n=32 bit 0 0 00 = 0 0 0 01 = 1 0 0 10 = 2 0 0 11 = 3. 0 1 10 = 2 31-2 0 1 11 = 2 31-1 Massimo= 2 31-1 minimo=- 2 31 1 0 00 = - 2 31 1 0 01 = -2 31 +1 1 0 10 = -2 31 +2 1 0 11 = -2 31 +3.. 1 1 10 = -2 31 +2 31 2=-2 1 1 11 = -2 31 +2 31 1=-1 Intervallo di rappresentazione con 32 bit: [- 2 31, 2 31-1]

Numeri Rappresentabili 8 bit in Complemento a 2 +127 = 01111111 = 2 7-1 -128 = 10000000 = -2 7 16 bit in Complemento a 2 +32767 = 011111111 11111111 = 2 15-1 -32768 = 100000000 00000000 = -2 15 32 bit in Complemento a 2 + 2 147 483 647 = 0111..111 = 2 31-1 - 2 147 483 648 = 1000 000 = -2 31

Intervallo di rappresentabilità Numeri rappresentabili con n bit in Complemento a 2 minimo: 1000 000 = -2 n-1 Massimo: 0111..111 = 2 n-1 1 [-2 n-1, 2 n-1 1 ]

Vantaggi Una sola rappresentazione per lo zero L aritmetica è più semplice Cambiare di segno/ ottenere l opposto è ancora semplice. La rappresentazione in complemento a 2 di un intero negativo si può ottenere trovando la rappresentazione in complemento a 2 del suo valore assoluto e calcolando poi l opposto.

Cambiamento di segno Cambiare di segno è semplice. Algoritmo 1: Si esegue il complemento bit a bit o negazione (si trasforma ogni 1 in 0 e viceversa) Si somma 1 Esempio: Con 8 bit: 3 10 = 00000011 Si esegue il complemento bit a bit 11111100+ Si somma +1 1= 11111101 11111101=11111111-10= -1 10-2 10 = - 3 10 Sarà un caso?

Non è un caso Cambiare di segno è semplice: Si esegue il complemento bit a bit (si trasforma ogni 1 in 0 e viceversa) Si somma 1 Perchè funziona? Se sommiamo un numero x e il suo complemento c(x) 00000011 + 11111100 = 11111111 Otteniamo 111.111 che in complemento a 2 è -1. Quindi: x + c(x) = -1 - x = c(x) + 1

Rivediamo: Cambiamento di segno (2) 12 10 = 00001100 c è un modo diretto? 11110011+ 1= 11110100 Algoritmo 2: Partendo da destra si lasciano invariati tutti i bit fino al primo 1 compreso, poi si invertono i rimanenti

Il caso dello 0 Proviamo a cambiare di segno lo 0 rappresentato con n=8 bit con l Algoritmo 1. 0 = 00000000 Negazione: 11111111+ Somma di 1: 1 = Risultato: 1 00000000 La cifra più a sinistra si perde (8 bit), quindi: - 0 = 0

Il caso del minimo Proviamo a cambiare di segno il minimo rappresentato con n=8 bit con l Algoritmo 1. -128 = - 2 7 = 10000000 Negazione: 01111111+ Somma di 1: 1 = Risultato: 10000000 = -128!!! In realtà sappiamo che con 8 bit l intervallo di rappresentazione è [- 2 7, 2 7-1] = [-128, 127] 128 non apparteiene all intervallo di rappresentabilità: c è overflow!

Estensione del segno Per i numeri positivi si aggiungono 0 nella parte più significativa +18 = 00010010 = 2 4 + 2= 18 +18 = 00000000 00010010 = 2 4 + 2= 18 Per i numeri negativi si aggiungono 1 nella parte più significativa -18 = 101110= -2 5 + 2 3 + 2 2 +2= -32 +14=-18-18 = 1111 101110 = -2 9 +(2 8 + + 2 5 ) + 2 3 + 2 2 +2 = = -2 9 +(2 9-2 5 ) + 2 3 + 2 2 +2 = -2 5 + 2 3 + 2 2 +2= -18 Regola dell estensione del segno: Si completa la rappresentazione riportando a sinistra il bit più significativo.

Aritmetica in binario

La somma in binario 1010110101110 + 1101011101101 = Non Sono sono un un problema 0+0=0 1+1= 0+1=1?210 1+0=1

Regole + 0 1 c 0 1 0 0 1 0 0 0 1 1 0 1 0 1 Somma Riporto

Addizione c n c n-1 c i c 2 c 1 a n-1 a i a 2 a 1 a 0 + b n-1 b i b 2 b 1 b 0 = s n s n-1 s i s 2 s 1 s 0 s i c i bit di somma bit di riporto / carry

Esempio 1 1 1 1 1 1 1 1 01 10 0 1010110101110 + 1101011101101 = 11000010011011

Un caso particolare 1 1 1 1 1 1 1 1 1 1 1 1 + 1 = 1 0 0 0 0 0 0 In generale: (1 1 1 1 1) 2 = 2 n-1 + 2 n-2 + +2 1 + 2 0 n (1 1 1 1 1) 2 + 1 = (1 0 0 0 0 0 ) 2 = 2 n n n Da cui: (1 1 1 1 1) 2 = 2 n - 1 n 2 n-1 + 2 n-2 + +2 1 + 2 0 = 2 n -1 n 1 i 0 2 i 2 n 1 Formula da ricordare! Dimostrata classicamente per induzione

Un altra prova Con n bit è possibile rappresentare tutti i 2 n interi compresi fra 0 e 2 n -1 Dimostrazione: Con n bit posso rappresentare gli interi da 0 0 0 0 0 a 1 1 1 1 1 (00 0 è il più piccolo, 11 1 è il più grande possibile) n n (0 0 0 0 0 ) 2 = 0 n (1 1 1 1 1) 2 = 2 n - 1 n 2 n-1 + 2 n-2 + +2 1 + 2 0 = 2 n -1 n 1 i 0 2 i 2 n 1

Un caso particolare 1 1 1 1 1 1 1 1 1 1 1 1 + 1 = 1 0 0 0 0 0 0 (111111) 2 = 127 può essere rappresentato con 6 bit (1000000) 2 = (111111) 2 + 1 = 128 necessita di 7 bit Nota: La somma di due numeri rappresentati con n bit può essere un numero che necessita di n+1 bit per essere rappresentato, cioè un numero che supera 2 n -1: OVERFLOW! Overflow = traboccamento

Aritmetica in complemento a due

Complemento a Due Il bit più a sinistra viene utilizzato come segno. 0 significa positivo 1 significa negativo Il peso del bit di segno è negativo Il valore di b n-1 b n-2 b 0 è dato dalla relazione N 2 n 1 b n 1 n 2 i 0 2 i b i

Somma e Sottrazione in complemento a 2 Somma Si utilizza la normale somma binaria L ultimo (l n-esimo) bit di riporto si ignora Alla fine bisogna controllare la consistenza dei segni: se non c è consistenza significa che siamo in presenza diun numero al di fuori dell intervallo di rappresentazione: questa situazione si chiama overflow o traboccamento. Sottrazione Si calcola l opposto del sottraendo e si somma al minuendo a - b = a + (-b) Avremo quindi bisogno dei soli circuiti di somma e complemento Più in dettaglio.

Maggiori dettagli ([P] 6.2) A= a n-1 a n-2 a 0, B= b n-1 b n-2 b 0, A+B= s n-1 s n-2 s 0 1. A 0, B 0 e A+B 2 n-1 (overflow): s n-1 =1 (somma negativa!) 2. A<0, B<0 e A+B 2 n-1 (overflow): s n-1 =0 (somma positiva!) 3. A 0, B<0 e A B : corretto ignorando l n-esimo riporto 4. A 0, B<0 e A < B : corretto Si usa che se B<0 allora b n-1 =1 e il valore di b n-2 b 0 è uguale a 2 n-1 - B. Esempio: n=4; B=1011=-5; 011=3 = 8-5

Caso 1: A 0, B 0 Somma di positivi è negativa: traboccamento! Corretto!

Caso 2: A < 0 B < 0 (es. 6.5 corretto) 1 0 0 0 1 1 1 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 0 0 Somma di negativi è positiva: traboccamento! Corretto: trascurare riporto!

Casi 3 e 4: A 0, B<0 3 4 Corretto: trascurare riporto!

Regola La somma in complemento a 2 si fa come nel caso binario tranne che: Si trascura l eventuale bit di riporto finale (c n ) Si deve controllare la consistenza dei segni: se la somma di positivi è negativa o la somma di due negativi è positiva significa che c è traboccamento/overflow (altrimenti il risultato è corretto) Dimostrazione del caso generale: facoltativa ([P] par. 6.2)