- Lamezia Servizi

Transcript

- Lamezia Servizi
Operazioni binarie
OPERAZIONI BINARIE
ADDIZIONE BINARIA
Le regole dell’addizione di due bit sono sintetizzate nella seguente tabella:
+ 0 1
0 0 1
1 1 0
con riporto di 1 cioè: (1)2 + (1)2 = (10)2
L’addizione di due numeri si esegue, quindi, tenendo conto dei riporti.
Esempio
Dati A = 10111, B = 101 otteniamo
A
B
A+B
1
1
0
1
1
1
1
1
1
1
1
0
0
1
1
0
+
=
riporti
SOTTRAZIONE BINARIA
Le regole della sottrazione di due bit sono sintetizzate nella seguente tabella:
- 0 1
0 0 1
1 1 0
minuendo
con prestito di 1 cioè: (10)2 – (1)2 = (1)2
sottraendo
La sottrazione di due numeri si esegue, quindi, col metodo diretto (cioè secondo le normali regole)
come nel sistema decimale tenendo conto degli eventuali prestiti.
Esempio
Dati A = 101101, B = 11010 otteniamo
A
B
A-B
1
1
0
1
1
1
1
0
1
0
0
1
0
1
1
1
0
1
=
prestiti
Partendo da destra, 1 meno 0 è 1 senza bisogno di prestiti; 0 meno 1 richiede, invece, un prestito di 1 dalla sinistra e
quindi otteniamo 10 da cui, sottraendo 1, otteniamo 1; la cifra successiva, avendo prestato 1 a destra diventa 0 che
sottratta a 0 restituisce 0; 1 meno 1 dà 0 e così, iterativamente, fino al termine dell’operazione.
Fondamenti di informatica - Pagina 20
Operazioni binarie
MOLTIPLICAZIONE BINARIA
Le regole della moltiplicazione di due bit sono sintetizzate nella seguente tabella:
* 0 1
0 0 0
1 0 1
Il procedimento della moltiplicazione binaria è analogo, cioè, a quello della moltiplicazione
decimale.
Esempio
Dati A = 1110110, B = 11001 otteniamo
A
B
A*B
1
1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
1
1
0
0
0
1
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
*
=
Osserviamo che per moltiplicare un numero binario per 10, 100, 1000 … basta aggiungergli uno,
due, tre zeri; così è ad esempio:
1 0 1 1 * 1 0
= 1 0 1 1 0
1 1 0 1 1 * 1 0 0
= 1 1 0 1 1 0 0
1 1 0 0 * 1 0 0 0 = 1 1 0 0 0 0 0
DIVISIONE BINARIA
La divisione binaria si esegue con lo stesso procedimento usato con i numeri scritti nel sistema
decimale. I passi del procedimento sono i seguenti:
1. Si confrontano gli n bit più significativi del dividendo con gli n bit del divisore;
2. La prima cifra del quoziente sarà 1 oppure 0 a seconda che il divisore contenga o no il
dividendo;
3. Si applicano, successivamente, le regole della divisione decimale.
Esempio
Dati A = 111011, B = 101 otteniamo
1
1
1
0
1
1
1
0
1
1
0
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
0
resto
Fondamenti di informatica - Pagina 21
Operazioni binarie
COMPLEMENTO E SOTTRAZIONE IN COMPLEMENTO A DUE
La sottrazione fra due numeri in binario può essere realizzata con una tecnica diversa da quella
esposta precedentemente e, cioè, con due diverse operazioni esplicitate di seguito. Analizziamo,
prima, il procedimento nel caso del sistema decimale. Supponiamo di voler sottrarre il numero 3717
al numero 5376; l’operazione 5373 – 3717 = 1659 può anche essere svolta nel seguente modo:
5376 + (10000 – 3717) – 1000 = 5376 + (6283) – 10000 = 1659
Il termine racchiuso in parentesi è il complemento a dieci del sottraendo; diciamo complemento a
dieci di un numero quel numero che sommato al primo dà come risultato la potenza del 10
immediatamente superiore al numero stesso.
Con un procedimento più lineare, la determinazione del complemento a 10 di un numero, si basa sul
seguente procedimento:
1. Calcolo della potenza del 10 immediatamente superiore al numero da complementare (100
se il numero ha due cifre, 1000 se ne ha tre, 10000 se ne ha quattro … quindi in generale 10n
se n sono le cifre del numero);
2. Sottrazione di 1 a questa potenza (otteniamo, rispettivamente, 99, 999, 9999, … cioè il
numero massimo esprimibile con n cifre 10n – 1);
3. Sottrazione, cifra per cifra, con il numero dato (otteniamo, così, il complemento a 9 del
numero dato);
4. Addizione di 1 al numero che si ottiene; otteniamo il complemento a 10.
Ritornando alla sottrazione sopra esemplificata osserviamo che la differenza si ottiene sommando al
minuendo il complemento a 10 del sottraendo e sottraendo poi la potenza del 10 immediatamente
superiore al sottraendo; schematicamente:
1. Dati il minuendo e il sottraendo si pareggiano eventualmente le cifre del sottraendo con
degli 0 a sinistra della cifra più significativa;
2. Si calcola il complemento a 10 del sottraendo;
3. Si addiziona il minuendo al complemento a 10 del sottraendo;
4. Si trascura la cifra più significativa della somma ottenuta; il numero rimanente è la
differenza cercata.
Esempio
Dati A = 7893, B = 231 dovendo calcolare la differenza fra A e B iniziamo con il pareggiare le cifre del sottraendo alle
cifre del minuendo (0231) e con il determinare il complemento a 10 di questo sottraendo:
n = 4 per cui 104 = 10000 e, quindi, 10000 – 1 = 9999 –
0231 =
9768 +
1=
9769
addizioniamo, ora, il minuendo alla cifra così determinata:
7893 +
9769 =
17662
si trascuri la cifra più significativa della somma ottenuta; il numero rimanente è la differenza cercata:
17662
Fondamenti di informatica - Pagina 22
Operazioni binarie
Nel sistema binario la sottrazione può essere, quindi, eseguita anche con il metodo del complemento
a 2. Si procede, similmente a quanto già illustrato per il sistema decimale, nel modo seguente:
1. Si pareggiano le cifre del minuendo e del sottraendo inserendo degli zeri a sinistra della cifra
più significativa;
2. Si calcola il complemento a 2 del sottraendo (si determina, prima, il complemento ad 1 del
sottraendo invertendo ogni bit del numero: trasformando, cioè, gli 1 in 0 e viceversa; e a
questo si aggiunge 1);
3. Si addiziona il minuendo al complemento a 2 del sottraendo;
4. Si trascura la cifra più significativa del risultato ottenendo, in tal modo, la differenza cercata.
Esempio
Dati A = 1011011, B = 11101 si pareggiano le cifre del sottraendo a quelle del minuendo ottenendo B = 0011101; si
determina il complemento ad 1 del sottraendo tramite inversione di bit da cui B = 1100010; si aggiunge 1 ottenendo:
1100010 +
1=
1100011
si somma il minuendo:
1011011 +
1100011 =
10111110
si elimina la cifra più significativa: il numero rimasto è la differenza cercata:
10111110
Fondamenti di informatica - Pagina 23