Oxygen Chrome

martedì 20 luglio 2010

II LEZIONE : INFORMATICA


Continuo con questo post la discussione sui numeri in binario aggiungendo le operazioni in binario e la rappresentazione dei numeri naturali in binario.

LEZIONE II : RAPRESENTAZIONE DELL’INFORMAZIONE : aritmetica binaria.

OPERAZIONI BINARIE: le operazioni fatte tra i numeri in base 2 sono identiche a quelle fatte con i numeri in base 10, o qualsiasi altra base. Quindi anche per la base 2:
• l’addizione può generare un riporto (carry) sulla cifra di posizione immediatamente superiore.
• la sottrazione può generare un prestito (borrow) dalla cifra di posizione immediatamente superiore.
Esempi:
1 + 1 = 0 (con riporto di 1)
0 - 1 = 1 (avendo prestato 1 allo 0, 10 – 1 = 1)
SOMMA (IN BINARIO): i numeri si sommano in colonna come per i numeri in base 10: Si sommano le cifre nella stessa posizione, se la somma dà un resto esso viene trasferito alla colonna sulla sinistra.
o Esempio sommare 1100 + 101=10001 .
SOTTRAZIONE (IN BINARIO): i numeri si sottraggono in colonna come per i numeri decimali: Si sottraggono le cifre nella stessa posizione, se la cifra in altro è minore di quella in basso allora ce il prestito di una unità dalla cifra immediatamente a sinistra.
o Esempio sottrarre 1100 – 101=111 .
MOLTIPLICAZIONE (IN BINARIO): come per i numeri decimali la moltiplicazione si fa sommando i prodotti parziali: Si sommano i prodotti parziali, che risultano essere 0 o una esatta replica del moltiplicando.
o Esempio moltiplicare 1110 x 111=100010 .

DIVISIONE (IN BINARIO): come per i numeri decimali: esempio:
A =100101102=15010
B =11002=1210
100101102:11002
15010:1210

Procedimento dell'operazione:  si cerca la prima parte del dividendo che sia maggiore del divisore. Tale prima parte è nel nostro caso 10010, e dobbiamo scrivere 1 al quoziente, calcolando il resto come differenza 10010-1100. Si ottiene 110.
A questo punto "si abbassa" la cifra successiva del dividendo, cioè
1, ottenendo 1101. Il divisore 1100 "sta" nel 1101, ovviamente una volta e con resto 1Il quoziente diviene 11 e abbassando la cifra successiva 1 si ha 11. Questa volta il divisore "non sta" in questa parte del dividendo e quindi si aggiunge uno 0 al quoziente, abbassando la cifra successiva. Questo è l'ultimo 0, che dà 110 nel dividendo. Di nuovo il 1100 non sta nel 110 e perciò si aggiunge un altro 0 al quoziente.  Non essendoci più cifre da calare ciò significa che l'operazione è finita: quindi il quoziente è 11002=1210il resto è 1102=610.
RAPPRESENTAZIONE DEI NUMERI NATURALI:
definizione: un numero naturale è un numero intero senza segno (positivo). Esso può essere rappresentato da una stringa di bit (una combinazione di simboli di una certa lunghezza) di lunghezza fissa, fissa perché le risorse Hardware sono limitate (memorie, bus, ecc.), la conseguenza è: non tutti i numeri naturali possono essere rappresentati all’interno del calcolatore.
Quindi: un numero intero può essere rappresentato con 1 o più byte, cioè tramite stringhe di simboli di lunghezza diversa la cui unità di misura è il bit. Con 1 byte(se 1byte=8bit) posso rappresentare 28=256 numeri diversi.
I multipli del bit nel sistema binario sono:
1 bit
23=8 bit = 1 byte
210=1024 bit = 1 Kibit (kilo)
220=1024 * 1024 bit = 1 Mibit
230=1024 * 1024 * 1024 bit = 1 Gibit
Essi sono diversi da quelli del sistema internazionale che usa la base 10, infatti: per es. la capacità di un disco fisso è 120 GB(nel S.I.)=1.2*109g=111.76GiB; la capacità di un floppy è: 1.406 MiB = 1.475 MB .
Processori diversi(CPU) possono rappresentare numeri con lunghezza max diversa, in generale se n è il numero di bit utilizzati, si possono rappresentare numeri da 0 a 2n-1 (il -1 si mette perché 1 numero viene usato per indicare lo zero, restano quindi 2n-1 numeri rappresentabili diversi da zero). Se da una operazione con questi numeri ottengo un numero che è maggiore di 2n-1 (cioè più lungo del numero di bit a disposizione)ottengo un overflow.

A causa della precisione finita, gli interi elaborati dall’elaboratore non godono della proprietà di chiusura rispetto alle 4 operazioni aritmetiche.

NOTA: per fare operazioni tra numeri binari, ternari, ecc. controlla il risultato convertendo tutto in decimale !
NOTA: per trovare il primo numero che causa overflow in un registro a 4 bit: 2n-1 è il numero massimo di cifre diverse da 0 rappresentabili usando 4 bit(in totale cioè sono 2n), quindi il primo numero che causa overflow è: 2n+1 .
*****


“La teoria della vita è dunque una teoria
dell’informazione”
[Manfred Eigen, Nobel per la chimica 1967]

Bon Travail !

Nessun commento:

 

seleziona un post a caso

Online da
giorni!
Preleva
Si è verificato un errore nel gadget

numero di visitatori già venuti sul blog: