1.2f: Operazioni Binarie

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

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

Rappresentazione dell informazione

Rappresentazione dei numeri

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

Codifica binaria. Rappresentazioni medianti basi diverse

Rappresentazione dei numeri interi in un calcolatore

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

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2

Rappresentazione e Codifica dell Informazione

Rappresentazione dei numeri interi in un calcolatore

Rappresentazione dei numeri in un calcolatore

Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori

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

Aritmetica dei Calcolatori

Lezione 3. I numeri relativi

I.4 Rappresentazione dell informazione - Numeri con segno

Somma di numeri binari

Codifica. Rappresentazione di numeri in memoria

La codifica. dell informazione

Rappresentazione dell Informazione

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

Corso di Architettura degli Elaboratori

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

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

Risoluzione degli esercizi proposti dall 1 al 6

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

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

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

Cap. 2 - Rappresentazione in base 2 dei numeri interi

La codifica. dell informazione

Rappresentazione di numeri interi

Calcolo numerico e programmazione Rappresentazione dei numeri

La codifica dei numeri

Sistemi di Numerazione Binaria

ARITMETICA BINARIA. La somma viene eseguita secondo le regole per la somma di due bit, di seguito riportate:

I.4 Rappresentazione dell informazione

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

Rappresentazione numeri reali

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

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

Codifica e aritmetica binaria

Transcript:

1.2f: Operazioni Binarie

2 18 ott 2011 Bibliografia Questi lucidi

3 18 ott 2011 Operazioni binarie Per effettuare operazioni è necessario conoscere la definizione del comportamento per ogni coppia di simboli Per ogni operazione esiste una tabella Overflow traboccamento Si verifica se il risultato di un operazione non puo essere rappresentato con il numero di bit a disposizione

4 18 ott 2011 Somma Binaria La tabella di definizione è: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 con riporto di 1 1 + 1 + 1 = 1 con riporto di 1 + 0 1 0 0 1 1 1 1 0 Tabella della somma binaria

Somma Binaria Esempio: sommare 100111 2 e 10011 2 Verifica: 100111+ 10011= 111010 100111 2 39 10 10011 2 19 10 111010 2 58 10 Esempio: (11011) 2 +(00110) 2 5 11011+ (27) 110= (6) 100001 (33)

6 18 ott 2011 Sottrazione Binaria La tabella di definizione è: 0-0 = 0 1-0 = 1 1-1 = 0 0-1 = 1 con prestito di 1 dal bit di peso superiore - 0 1 0 0 1 1 1 1 0 Tabella della sottrazione binaria

7 18 ott 2011 Sottrazione Binaria Esempio 1100- (12) 11= (3) 1001 (9) Esempio: (11011) 2 -(110) 2 11011- (27) 110= (6) 10101 (21) Esempio: (1001) 2 -(111) 2 1001+ (9) 111= (7) 10 (2)

8 18 ott 2011 Moltiplicazione binaria Si utilizza la stessa tecnica usata anche per i numeri in base 10 (somma e scorrimento): Esempio: A =(1011) 2 =(11) 10 B = (1101) 2 =(13) 10 A*B 143 10 1 0 1 1* 1 1 0 1= 1 0 1 1 0 0 0 0 1 0 1 1 1 0 1 1 1 0 0 0 1 1 1 1

9 18 ott 2011 Divisione di numeri binari

10 18 ott 2011 Codifica dei Numeri: overflow Le macchine hanno vincoli spaziali: è necessario conoscere il massimo valore rappresentabile: con n bit si può rappresentare al massimo il numero 2 n -1 I numeri interi sono rappresentati come successioni di byte (2, 4 e 8 byte)

Numeri naturali binari nei calcolatori Per la codifica dei numeri naturali (interi positivi) si utilizzano abitualmente successioni di 32 bit (4 byte) con cui si possono rappresentare i numeri compresi tra 0 e 2 32 1 = 4'294'967'295 4 10 9. Aumentando la lunghezza delle successioni il massimo numero rappresentabile cresce esponenzialmente: passando da 32 a 64 bit il massimo numero rappresentabile diventa 2 64 1 16 10 18 = 1.6 10 19. A causa del minor numero di simboli dell alfabeto binario rispetto a quello decimale, un numero codificato in notazione binaria richiede più cifre rispetto a quelle impiegate in notazione decimale.

Numeri interi Alfabeto binario anche il segno è rappresentato da 0 o 1 è indispensabile indicare il numero k di bit utilizzati Modulo e segno 1 bit di segno (0 positivo, 1 negativo) k 1 bit di modulo Esempio: +6 dieci = 0110 ms 6 dieci = 1110 ms si rappresentano i valori da 2k 1+1 a 2k 1 1 con 4 bit i valori vanno da 7 a +7 con 8 bit i valori vanno da 127 a +127 Attenzione: ci sono due rappresentazioni dello 0 con 4 bit sono +0 dieci = 0000 ms 0 dieci = 1000 ms

Diverse codifiche/interpretazioni Codice Nat MS Codice Nat MS 0000 30 0 1000 8-0 0001 1 1 1001 9-1 0010 2 2 1010 10-2 0011 3 3 1011 11-3 0100 4 4 1100 12-4 0101 5 5 1101 13-5 0110 6 6 1110 14-6 0111 7 7 1111 15-7

Numeri interi in complemento a 2 Alfabeto binario anche il segno è rappresentato da 0 o 1 è indispensabile indicare il numero k di bit utilizzati Complemento a 2 X corrisponde al binario naturale di 2 k + X +6 dieci 2 4 +6 = 22 [1]0110 0110 C2 6 dieci 2 4 6 = 10 [0]1010 1010 C2 si rappresentano i valori da 2 k 1 a 2 k 1 1 con 4 bit i valori vanno da 8 a +7 con 8 bit i valori vanno da 128 a +127 Con 32 bit i valori vanno da 2'147'483'648 fino a +2'147'483'647 Attenzione: c è una sola rappresentazione dello 0 con 4 bit è +0 dieci = 0000 C2 e 0 dieci = 0000 C2

Il complemento a 2: Metodo Alternativo Calcolare la rappresentazione di X a partire da quella di X Effettuare il complemento di ogni bit di X, poi aggiungere 1 1. rappresentazione di +6 dieci = 0110 C2 (NB ci vogliono 4 bit!!) 2. complemento di tutti i bit 1001 C2 (corrisponderebbe a - 7 dieci ) 3. aggiungere 1 1010 C2 (che corrisponde a -6 dieci ) Esempio 510 = 1012-510 = 0102 + 1 = 1 011 = 011 C2 Complemento di 101 Bit di segno

Metodo alternativo 2 Partendo da destra e andando verso sinistra, lasciare invariati tutti i bit fino al primo 1 compreso, complementare tutti gli altri bit. rappresentazione di +6 dieci = 0110 C2 (NB ci vogliono 4 bit!!) gli ultimi due bit ( 1 0) rimangono invariati gli altri due bit vengono complementati (1 0 1 0 C2 ) Esempio 510 = 1012-510 = 01 12 = 011 C2 Complemento dei bit precedenti Il primo bit resta invariato

Complemento a 2: osservazioni I valori positivi iniziano con 0, quelli negativi con 1 Data la rappresentazione di un numero su k bit, la rappresentazione dello stesso numero su k+1 bit si ottiene aggiungendo (a sinistra) un bit uguale al primo (estensione del segno ) Rappresentazione di 6 su 4 bit = 1010 Rappresentazione di 6 su 5 bit = 11010 Rappresentazione di 6 su 8 bit = 11111010 la sottrazione si effettua come somma algebrica 4 6 = +4 + ( 6) = 0100 + 1010 = 1110 = 2 9 6 = +9 + ( 6) = 01001 + 11010 = [1]00011 = +3

18 18 ott 2011 Codifica dei Numeri: overflow La rappresentazione di un numero è formata da un numero finito di bit: se si supera tale limite si ha errore Sono condizioni in cui si ha un errore nella rappresentazione del risultato Overflow traboccamento Si verifica se il risultato di un operazione non puo essere rappresentato con il numero di bit a disposizione

C2: operazioni Operazioni di somma di numeri binari in complemento a due. Con gli 8 bit utilizzati negli esempi qui riportati si possono rappresentare i numeri interi da 128 dieci fino a +127 dieci

C2: operazioni Se due operandi dello stesso segno danno un risultato di segno opposto vuol dire che è stata superata la capacità di calcolo (overflow).

21 18 ott 2011 Codifica dei Numeri: overflow -124 + 10000100 + 67 = 01000011 = Segni discordi. -57 11000111 Risultato corretto 70 + 01000110 + Segni concordi. 70 = 01000110 = 140 = 10001100 Risultato scorretto (140 è fuori dal range): OVERFLOW.

18 ott 2011 Esercizi (in aula) Effettuare le seguenti somme binarie: 11001 2 +1010 2 1001 2 +1101 2 1010 2 +11010 2 Effettuare le seguenti sottrazioni binarie: 11001 2-1010 2 1110 2-1101 2 11010 2-10111 2 Effettuare le seguenti moltiplicazioni binarie: 110 2 *101 2 11010 2 *111 2 11001 2 *1010 2 Effettuare le seguenti divisioni binarie: 22 11000 2 /1000 2 1110 2 /1101 2 11010 2 /11 2

18 ott 2011 Soluzioni (in aula) 11001 2 +1010 2 = 100011 2 1001 2 +1101 2 = 10110 2 1010 2 +11010 2 = 100100 2 11001 2-1010 2 = 1111 2 1110 2-1101 2 = 1 2 11010 2-10111 2 = 11 2 110 2 *101 2 = 11110 2 11010 2 *111 2 = 10110110 2 11001 2 *1010 2 = 11111010 2 11000 2 /1000 2 = 11 2 con resto 0 2 23 1110 2 /1101 2 = 1 2 con resto 1 2 11010 2 /11 2 = 1000 2 con resto 10 2

Esercizi (a casa) Effettuare le seguenti somme binarie: 1111 2 +111 2 1101 2 +1101 2 1011 2 +11110 2 Effettuare le seguenti sottrazioni binarie: 1110 2-111 2 11110 2-1101 2 1000 2-1 2 Effettuare le seguenti moltiplicazioni binarie: 111 2 *11 2 1010 2 *1010 2 101 2 *1001 2 Effettuare le seguenti divisioni binarie: 1001 2 /11 2 1111 2 /111 2 10000 2 /10 2

18 ott 2011\ Soluzioni (a casa) 1111 2 +111 2 = 10110 2 1101 2 +1101 2 = 11010 2 1011 2 +11110 2 = 101001 2 1110 2-111 2 = 111 2 11110 2-1101 2 = 10001 2 1000 2-1 2 = 111 2 111 2 *11 2 = 10101 2 1010 2 *1010 2 = 1100100 2 101 2 *1001 2 = 101101 2 1001 2 /11 2 = 11 2 con resto 0 2 1111 2 /111 2 = 10 2 con resto 1 2 25 10000 2 /10 2 = 1000 2 con resto 0 2