Sito Visitato 498379 volte Pagina Visitata 1882 volte Sei in : Etantonio/IT/Universita/1anno/FondamentiInformatica/Sysop/     

Codifica binaria

1) Trasformare in decimale il n° binario 101101 :

Occorre moltiplicare il lsb per 20 sommarlo alle cifre seguenti moltiplicate per 2p con p = posizione nel numero pertanto :

101100(2)  =   1*22 + 1*23 + 1*25 =  44(10)

 

2) Trasformare in binario il n° decimale 44 :

Occorre dividere il n° per 2 sin quando il quoziente risultante è maggiore di 2, a tal punto si sarà creata una sequenza di 0 ed 1 che sono i soli possibili resti della divisione per 2 e prendendoli in modo che il 1° resto è il meno significativo si ottiene il n° binario corrispondente, nel nostro caso:

Dividendo

Quoziente

Resto

44

22

0

22

11

0

11

5

1

5

2

1

2

1

0

1

0

1

Il corrispondente n° binario è pertanto 101100(2)

 

3) Quanti bits sono necessari per codificare in binario il n° 746 :

il n° di bits necessari è n = [ Log2 746 ] = 10   dove [  ] sta ad indicare l´intero immediatamente successivo.

 

4) Come si passa dal binario 101100 al corrispondente n° ottale :

Occorre considerare i bit a partire dal meno significativo raggruppandoli in gruppi di 3 bits ed associare a questi 3 bits il corrispondente codice ottale, nel nostro caso pertanto :

101          100

  5              4

Pertanto il n° ottale corrispondente è 54(8) .

 

5) Come si passa dal binario 101100 al corrispondente n° esadecimale :

Occorre considerare i bit a partire dal meno significativo raggruppandoli in gruppi di 4 bits ed associare a questi 4 bits il corrispondente codice esadecimale, nel nostro caso pertanto :

0010        1100

 2             C

Pertanto il n° esadecimale corrispondente è 2C(16) .

 

6) Descrivere le tabelle logiche della addizione e della moltiplicazione binaria :

     Addizione                                                       Moltiplicazione

0 + 0 = 0                                                0 * 0 = 0

1 + 0 = 1                                                1 * 0 = 0

0 + 1 = 1                                                0 * 1 = 0

1 + 1 = 10                                                              1 * 1 = 1

 

7) Come si effettua una moltiplicazione binaria:

Come una moltiplicazione decimale ossia ponendo i molteplicandi uno sotto alla altro ed effettuando il prodotto del 1° bit del 2° numero per il 1° numero, poi si va a capo e si scala di un posto a sx e si fa la stessa moltiplicazione stavolta per il 2° bit del 2° numero e così via. Il risultato occuperà un n° di bit doppio rispetto ai moltiplicandi.

                                                                              1011        *

                                                                                 101        =

                                                                              1011

                                                                           0000

                                                                         1011                   

                                                                110111

Il risultato della moltiplicazione è dunque 110111(2) .

 

8) Descrivere le modalità di codifica dei numeri negativi :

La 1ª modalità studiata fu di associare al bit più a sinistra l´informazione sul segno del n° ma questo metodo ha il problema del doppio 0, problema presente anche nel caso della codifica in complemento ad 1 mentre è assente nel caso di codifica in complemento a 2.

 

9) Codificare in complemento ad 1 il n° decimale 10110 :

Occorre semplicemente sostituire gli 1 con 0 e viceversa pertanto si ottiene :       01001

 

10) Su quale principio si basa la codifica in complemento a 2 :

Quando si sottrae ad un n° un secondo n° si ottiene un valore anche ottenibile sommando al 1° numero il complemento a 10 del  2° e trascurando l´eventuale riporto, pertanto 9 - 3 = 6    ma anche 9 + 7 = 16 essendo appunto 7 il complemento a 10 di 3 . Analogo risultato vale per i numeri binari la cui rappresentazione in complemento a 2 si ottiene prima ricavando la rappresentazione in complemento ad 1 e successivamente sommando 1.

n° binario                              00001011

complemento a 1                 11110100

complemento a 2                 11110101

 

11) Come si possono rappresentare i numeri reali:

Un possibile metodo è quello in virgola fissa nel quale si hanno a disposizione x bit per la parte intera ed y bit per la parte decimale. Un altro metodo è quello in virgola mobile nel quale si sposta la virgola in modo che alla sua destra vi sia la 1ª cifra significativa e questo si ottiene moltiplicando poi il n° per una potenza del 2. Si definisce :

Mantissa               Þ           I bits a destra della virgola

Caratteristica        Þ           L´esponente cui si deve elevare il 2.

Il formato di un numero reale è quindi :

1

1

0

1

1

1

0

1

0

1

1

1

0

1

0

0

0

1

0

0

1

1

1

1

1

1

0

0

1

0

1

segno                caratteristica       segno                                                          mantissa

caratteristica      o esponente      mantissa

Questa rappresentazione è detta in semplice precisione, la rappresentazione in doppia precisione invece occupa un totale di 64 bits, 54 bits per la mantissa (compreso il segno) e 10 bits per la caratteristica (compreso il segno).

 

12) Quale è l´effetto della istruzione TRUNC (n° reale) :

Restituisce il solo intero del n° reale tagliando via la parte decimale senza alcun interesse a problemi di arrotondamento.

TRUNC(7,6) = 7                   e              TRUNC(-7,1) = -7

 

13) Quale è l´effetto della istruzione ROUND (n° reale) :

Restituisce l´intero più prossimo al n° reale pertanto ROUND(7,6) = 8          e           ROUND(-7,1) = -7

 

14) Quanto vale in codifica BCD il n° 123(10) :

In Binary Coded Decimal ad ogni cifra decimale si assegna il corrispondente n° binario, la codifica corrispondente è pertanto costituita sicuramente da un multiplo di 4 bits, nel nostro caso :

1                             2                             3

0001                       0010                       0011

La codifica binaria è pertanto : 000100100011 . È uno spreco di bits ma è l´ideale per i display.

 

15) Descrivere il formato del codice ASCII :

È costituito da 8 bits dei quali 8 dedicati alla codifica dei simboli ed 1 bit destinato al controllo di parità in particolare:

Parità dispari Þ se il n° di  bit 1 del carattere è pari, viene aggiunto un bit 1 per renderlo dispari.

Parità pari     Þ se il n° di  bit 1 del carattere è dispari, viene aggiunto un bit 1 per renderlo pari.

 

16) Descrivere il codice Gray :

È un codice che nasce allo scopo di far sì che dalla codifica di un n° alla codifica del n° successivo vari soltanto un bit, questo consente di evitare stati non effettivi nei circuiti dove i tempi di commutazione non sono uguali per tutte le porte.