Caricare documenti e articoli online 
INFtub.com è un sito progettato per cercare i documenti in vari tipi di file e il caricamento di articoli online.


 
Non ricordi la password?  ››  Iscriviti gratis
 

Numeri Binari - Numeri a precisione Finita

informatica



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:

  • ERRORE D'OVERFLOW: il risultato è più grande del numero più grande dell'insieme definito;
  • ERRORE D'UNDERFLOW: il risultato è più piccolo del numero più piccolo dell'insieme definito;
  • Il risultato non fa parte dell'insieme.

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.


  • Somma 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).


  • Sottrazione Binaria.

Si utilizzano le notazioni in complemento a due; e quindi di usano le regole della somma.


  • Moltiplicazione Binaria.

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.


  • Divisione Binaria.

Per operare una divisione in base 2 si esegue il seguente algoritmo:

  1. Si forma un dividendo parziale con le cifre più significative del dividendo in numero pari alla lunghezza del divisore;
  2. si sottrae al dividendo parziale il divisore;
  3. se il risultato è positivo

allora metto 1 nell'ultimo bit del quoziente,

altrimenti sommo il divisore al dividendo parziale;

  1. se restano ancora cifre nel dividendo

allora <<abbasso>> la prossima cifra del dividendo al dividendo parziale e torno al punto 2,

altrimenti quello che rimane del dividendo parziale è il resto;

  1. stop.




Privacy




Articolo informazione


Hits: 4107
Apprezzato: scheda appunto

Commentare questo articolo:

Non sei registrato
Devi essere registrato per commentare

ISCRIVITI



Copiare il codice

nella pagina web del tuo sito.


Copyright InfTub.com 2024