Limiti nella capacità di rappresentazione numerica di un computer 6 10 2014

Page 1

Limiti nella capacità di rappresentazione numerica di un computer. Un computer ha un intrinseco (cioè ineliminabile perché derivante dalla sua natura) limite nella sua capacità di rappresentare numeri. Un essere umano può pensare e scrivere numeri di dimensioni grandi a piacere: ha bisogno soltanto di carta o altri supporti sufficienti per scrivere, abbastanza penne e abbastanza tempo. Il computer invece non ha questa elasticità. E’ innanzitutto immediatamente evidente che per pensare un numero il computer lo deve memorizzare su qualche forma di supporto fisico che, per la natura del computer non può che essere un dispositivo elettronico. Non possiamo tenere qui un corso di elettronica digitale o farvi prender una laurea in ingegneria elettronica : vi basti immaginare che questi dispositivi hanno una caratteristica (in genere la tensione) utilizzata per rappresentare uno 0 o un 1 cioè un bit. Per fare un esempio: supponete di voler utilizzare un sistema fisico per memorizzare i bit che non sia la elettricità; potreste ad esempio prendere i libri di una biblioteca e stabilire la regola che se sono aperti rappresentano il bit 0 e se sono chiusi rappresentano il bit 1. Avete dunque cercato e adottato una realtà fisica (libro) e sfruttato una sua caratteristica (aperto-chiuso) per rappresentare un bit: notate per inciso che a questo punto il singolo libro può essere soltanto in due stati: o aperto o chiuso, non ci sono0 altre possibilità, deve necessariamente rappresentare un valore: o 0 o 1. Quello che ci interessa adesso è il fatto che questi oggetti , ciascuno dei quali può rappresentare un solo bit, sono uniti insieme a formare banchi detti registri: dunque il numero più grande che può rappresentare il computer è limitato dalla lunghezza del registro che è fissa perché deriva dal progetto del computer. Un uomo, se ne ha bisogno aggiunge fogli al quaderno, compra altri quaderni, va dalla Fabriano e compra tutte le sue risme di carta, abbatte tutti gli alberi della terra per farne cellulosa per la carta, insomma si inventa qualcosa per rappresentare i suoi numeri, il computer invece quando ha occupato l’intero registro non è in grado da solo di superare questo limite. Ma come si calcola questo limite? Cominciamo col dire che proseguiremo il discorso supponendo di avere a che fare con uno dei primi computer creati che aveva registri a 8 bit. Lo facciamo solo per semplicità di calcolo ben sapendo che i computer attuali hanno registri ben più grandi (il discorso concettualmente non cambia, il computer saprà trattare numeri ben più grandi ma sempre limitati).


Supponiamo di avere a disposizione un solo bit: è evidente che il numero più grande rappresentabile è 1. Se abbiamo due bit il numero più grande che posso scrivere è 11 che, tradotto in decimale, vale 2+1=3. Se abbiamo a che fare con 3 bit il numero più grande sarà 111 che vale 4+2+1=7. Se abbiamo 4 numeri a disposizione il numero più grande sarà 1111 cioè 8+4+2+1=15. Potremmo proseguire all’infinito negli esempi e ci accorgeremmo che vale sempre la seguente regola: se N è il numero di bit che costituiscono il registro, il numero più grande che posso rappresentare sarà dato dalla formula 2N – 1 Infatti come ci può insegnare la matematica combinatoria , 2N rappresenta la quantità di numeri diversi che posso scrivere utilizzando N bit, ma uno di questi numeri è lo zero per cui il numero più grande non può essere 2N . Ad esempio con un registro a 8 bit il numero più grande che posso rappresentare è dato da 28 – 1= 256-1=255. Un’ultima considerazione: supponiamo di dover trasformare il numero 41 in binario. Otterremo il risultato 101001(2). Utilizzeremo solo 6 bit perché tanti sono necessari . Il computer invece scriverà 00101001, questo perché , essendo il registro ad 8 bit, i dispositivi che corrispondo ai bit non necessari debbono comunque avere un valore ( ricordate il discorso del libro aperto e del libro chiuso). Chiaramente questo valore non può essere 1 altrimenti cambieremmo il valore del numero, quindi deve valere necessariamente 0.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.