Sei sulla pagina 1di 3

Codifica binaria

Per codifica binaria si intende la rappresentazione di un qualcosa, il più delle volte un


numero in base 2. Es:

11=3 01=1 10=2

1001= 1 * 23 + 0 * 22 + 0 * 21 + 1 * 20 = 910

I dati nel calcolatore sono trattati e codificati in questo modo, principalmente per la
loro parentela con i valori booleani.

Nell'informatica la numerazione binaria si usa anche per rappresentare valori non


interi, senza introdurre la virgola.

Per rappresentare il + o il – davanti ad un numero si può aggiungere un bit all'inizio


del numero. Il problema di questa rappresentazione è che possiede un -0 ed un +0.
Avere due modi di rappresentare lo zero è un problema non indifferente.

Per scansare questo problema si usa il Complemento a due, ovvero dividere


l'insieme numerico in due meta, la prima positiva e la seconda negativa.

Pensiamo di avere 3 bit i quali possono rappresentare 8 numeri; disponendoli su di


una linea avremo:
000 001 010 100 110 111 Binario
0 1 2 -3 -2 -1 Decimale

Da notare che adesso non esiste più l'ambiguità dello zero e non esiste il bisogno di
un bit per indicare il segno; oltre a questo l'insieme è sferico nel senso che partendo
da un punto, e procedendo sempre nella stessa direzione, prima o poi ci ritroveremo
al punto di partenza, proprio come Cristoforo colombo!!!!!!

Parliamo adesso della virgola; la rappresentazione di numeri non interi è una


necessità del calcolatore ma anche una delle cose più instabili e difficili che debba
fare. Esistono moltissimi modi di rappresentare numeri non interi, con virgola mobile
o fissa.
La rappresentazione di un numero con virgola fissa è così:

Parte Parte
intera frazionaria
xxxxx yyyyyy
Questo sistema può includere un bit per il segno, il difetto è la lunghezza data a priori
che può portare ad effetti di overflow durante la summa di due numeri.

Il più usato a virgola mobile è lo standard IEEE P745 , in questo standard ogni
numero è identificato dal segno, una mantissa (Prendete un libro delle superiori) ed
un esponente.
Per comprenderlo è bene mostrare(non la spiego se ci sono dubbi visitate wikipedia)
la notazione scientifica:

Questo con i numeri binari si realizza così:

Attenzione per semplicità l'esponente in base 2 è stato


rappresentato in base 10, ma il calcolatore rappresenta in base 2
anche quello.

Ora spiegato questo è bene specificare che lo standard IEEE P754


usa 32 bit per codificare il numero reale, e sono ripartiti in questo
modo:

– 1 bit per il segno, S


– 8 bit per l'esponente, E
– 23 bit per la mantissa, M

Immaginiamolo così:

I bit così distribuiti permettono di rappresentare un intervallo


numerico molto grande.
Per una migliore rappresentazione la mantissa ha un valore [1,2) e
l'esponente viene adattato, quindi i numeri sono sempre
1,xxxxxx.....x
La formula per ricavare i numero diventa:

dove M' = M -1 .
Esempi
13,25---->1101,01---->1,101001*2E3(cioè due elevato alla terza)
L'esponente diventa 3+127=130(in base 10)=10000010(in base 2)
la rappresentazione finale sarà:
S M E
0 1000001 101010000000000000
0 00000

Potrebbero piacerti anche