![]() | ![]() |
|
|
Numeri Binari.
Numeri a precisione Finita.
Un elaboratore può calcolare o rappresentare dei numeri fissati dal limite fisico della memoria. Con alcuni espedienti si possono rappresentare numeri più grandi dei limiti prefissati. Quindi un calcolatore ci obbliga a rappresentare numeri con un numero fisso di cifre, chiamato numeri a precisione finita.
L'aritmetica sull'insieme degli interi è chiusa rispetto alle operazioni d'addizione, sottrazione e moltiplicazione; infatti, se i e j sono interi allora i+j, i-j e i*j appartengono all'insieme degli interi; mentre i/j non sempre è un numero naturale ad esempio ½, ¼ e così via (l'insieme degli interi non è chiuso rispetto alla divisione). I numeri a precisione finita non sono chiusi rispetto alle quattro operazioni fondamentali; e le violazioni possibili si possono individuare come:
Siccome i calcolatori hanno una memo 444d38e ria di dimensioni finite faranno calcoli con i numeri a precisione finita; e i risultati di certi calcoli saranno sbagliati dal punto di vista matematico. Per esempio non sono sempre valide le leggi associative e quella distributiva.
Avendo come insieme
di partenza i primi 1000 numeri ; la legge con a=700, b=400 e
c=300, non è valida. Dimostriamolo. Nel primo caso avremo un risultato di 800
senza problemi. Mentre nel secondo caso a+b = 1100, tale numero è fuori del
range stabilito in partenza. Per il calcolatore a+b non farà 1100 ma sarà un
numero diverso, al quale sottraendo 300 non fornirà il numero 800. Ecco quindi
dimostrata l'affermazione precedente, in cui affermammo che la legge
associativa non sempre è valida. Stesso discorso si può fare con la legge
distributiva.
Numeri Posizionali.
I numeri decimali sono una stringa composta da numeri ed eventualmente da una virgola.
, in cui
sono le centinaia,
sono le decine,
le unità,
i decimi,
sono i centesimi e
i millesimi. Un numero decimale si può quindi rappresentare
nella forma:
. Questo se stiamo in base 10. Con i calcolatori questo
cambia perché di solito si usano le basi 2,8 e 16 che si dicono numerazioni
binarie, ottali ed esadecimali. Una notazione posizionale k richiede k simboli
diversi per rappresentare i numeri a 0 a k-1. I numeri decimali sono
rappresentati dalle cifre 0 1 2 3 4 5 6 7 8 9; mentre i binari da 0 1; gli
ottali da 0 1 2 3 4 5 6 7; gli esadecimali da 0 1 2 3 4 5 6 7 8 9 A B C D E F.
Conversione da una base all'altra.
La conversione da numeri ottali oppure esadecimali a numeri binari è facile. Per convertire un numero binario in un numero ottale, lo si divide in gruppi di 3 bit, dove i 3 bit vicini alla virgola formano un gruppo e tre bit successivi formano un altro gruppo e così via.. Ogni gruppo di 3 bit si può facilmente convertire in un'unica cifra ottale da 0 a 7. Potrebbe essere necessario aggiungere uno o due zeri per completare un gruppo di 3 bit. Il procedimento inverso è semplice; ogni cifra in ottale viene sostituita da un numero binario di 3 bit equivalente. La conversione esadecimale - binaria è identica a quella ottale - binaria, solo che una cifra esadecimale è associata un numero binario a 4 bit. Per trasformare un numero da decimale a binario di divide il numero per 2. Il quoziente viene scritto sotto il numero originale, il resto 0/1, viene scritto accanto al quoziente. Il quoziente a sua volta viene diviso per 2, tutto questo viene ripetuto fino a che non si è raggiunto il numero 0 (come quoziente). Si hanno due colonne di numeri i quozienti e i resti: il numero binario si può leggere come la colonna dei resti presa dal basso. Per trasformare il numero da binario a decimale, basta moltiplicare ogni 1 o 0 per 2 elevato al suo peso.
Numeri binari negativi.
Nel corso della storia sono stati usati vari metodi per rappresentare i numeri negativi.
Il primo metodo si
chiamava grandezza a segno (signed magnitude). In questo sistema il bit
più a sinistra è il bit di segno (0 significa + e 1 significa -) e i bit
rimanenti contengono il valore assoluto del numero. Anche per il secondo
metodo, chiamato complemento a uno (one's complement) ha un bit di
segno, 0 significa + e 1 significa -,
per negare un numero basta sostituire ogni 1 con uno 0 e ogni 0 con un
1. Anche il terzo sistema, chiamato complemento a due ( two's complement)
ha un bit di segno che è 0 quando il numero è positivo, e 1 quando è negativo.
La negazione di un numero è un processo in due fasi. Per prima cosa ogni 1
viene sostituito da uno 0 e ogni 0 da un 1. Secondo, viene sommato 1 al
risultato. Il quarto sistema, che per numeri di m bit si chiama eccesso (excess
), rappresenta un numero memorizzandolo come somma di se
stesso con
. I numeri da -128 a +127 sono mappati da 0 a 255, e sono
quindi esprimibili come un numero intero positivo di 8 bit. Sia la
rappresentazione in grandezza e segno che il complemento a uno hanno due
rappresentazioni per lo zero positivo e uno negativo. La rappresentazione in
complemento a due non ha questo problema, perché anche il complemento a due
dello zero positivo è uno zero positivo.
Aritmetica Binaria.
L'algoritmo di somma non comporta particolari problemi, perché è facilmente implementabile attraverso semplici circuiti logici. Nella somma tra due numeri binari, si parte da lbit meno significativo e si procede da destra verso sinistra. I riporti vengono sommati alla cifra successiva fino a raggiungere l'ultima cifra del formato. Un eventuale riporto relativo all'ottavo bit viene segnalato in un flag chiamato flag carry (flag di riporto). Qualora la somma di due numeri binari supera il massimo numero rappresentabile, in questo caso il risultato ottenuto sarà il modulo del numero. Ad esempio la somma tra 200 e 150, in base 10, fornisce come risultato 350. Nella rappresentazione binaria a 8 bit il numero 350 non è rappresentabile; quindi il risultato sarà (1) 0 1 0 1 1 1 1 0, tra parentesi è il carry da riportare il risultato a 8 bit è 94, che è la differenza tra 350 e il massimo dei numeri a 8 bit (250).
Si utilizzano le notazioni in complemento a due; e quindi di usano le regole della somma.
Le regole di moltiplicazione binaria tra due cifre sono riassunte dalla seguente tabella:
N1 |
N2 |
M |
|
|
|
|
|
|
|
|
|
|
|
|
L'algoritmo di moltiplicazione binaria di due numeri con più cifre ricalca quello della moltiplicazione decimale. Possiamo osservare che si può operare una moltiplicazione tra due numeri binari semplicemente traslando di un posto a sinistra il moltiplicando per ogni cifra del moltiplicatore e sommandola o meno al risultato parziale a seconda che la cifra in questione sia 1 o 0.
Per operare una divisione in base 2 si esegue il seguente algoritmo:
allora metto 1 nell'ultimo bit del quoziente,
altrimenti sommo il divisore al dividendo parziale;
allora <<abbasso>> la prossima cifra del dividendo al dividendo parziale e torno al punto 2,
altrimenti quello che rimane del dividendo parziale è il resto;
Privacy |
Articolo informazione
Commentare questo articolo:Non sei registratoDevi essere registrato per commentare ISCRIVITI |
Copiare il codice nella pagina web del tuo sito. |
Copyright InfTub.com 2025