vuoi
o PayPal
tutte le volte che vuoi
Rappresentazione delle informazioni - Operazioni binarie
Le informazioni (nel nostro caso i numeri) possono essere rappresentate attraverso l'utilizzo di diversi "alfabeti".
Nel nostro caso gli alfabeti maggiormente utilizzati sono quelli:
- In base 10: {0, 1, 2, 3 ,4 ,5 ,6 ,7, 8, 9}
- In base 8: {0, 1, 2, 3 ,4 ,5 ,6 ,7}
- In base 2: {0, 1}
Dato un numero, scritto in un determinato alfabeto è possibile attraverso l'utilizzo della Notazione Posizionale, calcolare il valore di un qualsiasi numero in base b:
n-1 ∑ i * b^i
Ad esempio:
- (111) Valore in base 10: 1 * 2 + 1 * 2 + 1 * 2 = 7
- (111) Valore in base 8: 1 * 8 + 1 * 8 + 1 * 8 = 73
- (111) Valore in base 10: 1 * 10 + 1 * 10 + 1 * 10 = 30
Dato un numero scritto in base 10, è possibile convertire quel numero in un numero di un qualsiasi altro alfabeto attraverso l'utilizzo delle divisioni ripetute. Questo avviene dividendo il...
numero N, attraverso l'uso della divisione intera, per il valore della base. Da questo si ricava un quoziente e un resto. Il resto farà parte della codifica finale, viceversa il quoziente verrà usato per un'altra divisione fino a quando sarà uguale a 0
N b R
19 2 19 2 14 2 0
2 1
Per capire invece quanti bit (quindi quante posizioni) sono necessari per la rappresentazione di un numero N in base 2, occorre utilizzare la seguente formula:
n = Log (N + 1)2
n = ГLog (19 + 1)Ⴈ = Г 4,1 Ⴈ= 5 Г Ⴈ Approssimazione2 all'intero superiore
OPERAZIONI BINARIE
Anche in base 2, è possibile effettuare un'operazione di somma:
11
Tosetti Luca 21/09/2020
Rappresentazione delle informazioni-Operazioni binarie
(77) (156) = (233)10
10 10 10
Tosetti Luca 21/09/2020
Operazioni binarie
01001101 +
10011100 =
11101001
1 * 2 + 0 * 2 + 0 * 2 + 1 * 2 + 0 * 2 + 1 * 2 + 1 * 2 + 1 * 2 =
0 1 2 3 4 5 6 7
1 + 8+32+64+128=233
Nel caso in cui il nostro calcolatore possa rappresentare
In codifica binaria i varinumeri naturali attraverso un numero limitato di bit si può incorrere in un errore chiamato Overflow.
(125) (156) = (281) n=810 10 100 1 1 1 1 101 +1 1 1 1 1 110011100 = OVERFLOW00011101
Oltre alla somma è possibile effettuare anche la sottrazione:
(166) (77) = (89)10 10 1010100110 –01001101 =01011001 1 * 2 + 0 * 2 + 0 * 2 + 1 * 2 + 1 * 2 + 0 * 2 + 1 * 2 + 1 * 2 =0 1 2 3 4 5 6 789
Un problema analogo all'overflow della somma si può presentare nella sottrazione qualora il nostro calcolatore non sia in grado di rappresentare numeri negativi.
(9) (10) = (-1)1001 –1010 = (Termine corretto)UNDERFLOW(Per semplicità)OVERFLOW111
Per poter risolvere questa problematica è necessario utilizzare la rappresentazione modulo e segno (ms), che permette di rappresentare i numeri interi.
Questa rappresentazione prevede di porre un bit iniziale davanti ai vari bit che vanno a rappresentare il numero che indichi il segno, che
viene deciso in base al valore del bitn – 1 n – 1(-2 , 2 ):0 Numero positivo 1 Numero negativo n=4 (-2 , 2 ) (-7, 7)3 3 n = [Log (N + 1)] + 1 = Numero di bit per rappresentare un numero N2 13