• Non ci sono risultati.

I numeri razionali in un elaboratore: rappresentazione in virgola fissa

N/A
N/A
Protected

Academic year: 2021

Condividi "I numeri razionali in un elaboratore: rappresentazione in virgola fissa"

Copied!
3
0
0

Testo completo

(1)

1

I numeri razionali in un elaboratore: rappresentazione in virgola fissa

Un numero razionale è composto da una parte intera e da una parte frazionaria.

Consideriamo un numero razionale in base 10. Ad esempio 832.794. Possiamo scrivere:

832.894 = 8 ∙ 100 + 3 ∙ 10 + 2 + 7 10 + 9

100 + 4 1000 Scritto in un altro modo:

832.894 = 8 ∙ 10 2 + 3 ∙ 10 1 + 2 ∙ 10 0 + 7 ∙ 10 −1 + 9 ∙ 10 −2 + 4 ∙ 10 −3

In generale un numero che presenta n cifre nella parte intera e m cifre nella parte frazionaria si può scrivere come segue:

𝑎 𝑛 ∙ 10 𝑛 + 𝑎 𝑛−1 ∙ 10 𝑛−1 +∙∙∙ +𝑎 1 ∙ 10 + 𝑎 0 + 𝑏 1 ∙ 10 −1 + 𝑏 2 ∙ 10 −2 +∙∙∙ +𝑏 𝑚 ∙ 10 −𝑚

Dove 𝑎 0 ,∙∙∙ 𝑎 𝑛 sono le cifre della parte intera e 𝑏 1, ∙∙∙ 𝑏 𝑚 sono quelle della parte frazionaria.

A questo punto ci chiediamo: come possiamo scrivere un numero razionale in base 2?

Proviamo con 1001.1101. Anche in questo caso possiamo scrivere:

1001.1101 = 1 ∙ 2 4 + 0 ∙ 2 3 + 0 ∙ 2 2 + 1 ∙ 2 + 0 ∙ 2 −1 + 1 ∙ 2 −2 + 0 ∙ 2 −3 + 1 ∙ 2 −41

Ovviamente, dato che usiamo il sistema di numerazione posizionale, quanto detto vale per qualsiasi base.

Per rappresentare un numero razionale in un calcolatore elettronico in virgola fissa si riservano un numero fisso di bit per parte intera (il primo bit indica il segno) e per parte frazionaria.

Facciamo un esempio:

Supponiamo di riservare 4 bit per la parte intera (di cui 1 per il segno) e 3 bit per la parte frazionaria e vediamo come si rappresenta il numero 4.78.

Convertiamolo prima in base 2. Parte intera:

4: 2 = 2 𝑟𝑒𝑠𝑡𝑜 0 2: 2 = 1 𝑟𝑒𝑠𝑡𝑜 0 1: 2 = 0 𝑟𝑒𝑠𝑡𝑜 1 Quindi:

4 10 = 100 2 Procediamo ora con la parte frazionaria:

0.78 ∙ 2 = 1.56 𝑝𝑎𝑟𝑡𝑒 𝑖𝑛𝑡𝑒𝑟𝑎 1 0.56 ∙ 2 = 1.12 𝑝𝑎𝑟𝑡𝑒 𝑖𝑛𝑡𝑒𝑟𝑎 1 0.12 ∙ 2 = 0.24 𝑝𝑎𝑟𝑡𝑒 𝑖𝑛𝑡𝑒𝑟𝑎 0 0.24 ∙ 2 = 0.48 𝑝𝑎𝑟𝑡𝑒 𝑖𝑛𝑡𝑒𝑟𝑎 0 0.48 ∙ 2 = 0.96 𝑝𝑎𝑟𝑡𝑒 𝑖𝑛𝑡𝑒𝑟𝑎 0 0.96 ∙ 2 = 1.92 𝑝𝑎𝑟𝑡𝑒 𝑖𝑛𝑡𝑒𝑟𝑎 1 0.92 ∙ 2 = 1.84 𝑝𝑎𝑟𝑡𝑒 𝑖𝑛𝑡𝑒𝑟𝑎 1 0.84 ∙ 2 = 1.68 𝑝𝑎𝑟𝑡𝑒 𝑖𝑛𝑡𝑒𝑟𝑎 1 0.68 ∙ 2 = 1.36 𝑝𝑎𝑟𝑡𝑒 𝑖𝑛𝑡𝑒𝑟𝑎 1 0.36 ∙ 2 = 0.72 𝑝𝑎𝑟𝑡𝑒 𝑖𝑛𝑡𝑒𝑟𝑎 0 0.72 ∙ 2 = 1.44 𝑝𝑎𝑟𝑡𝑒 𝑖𝑛𝑡𝑒𝑟𝑎 1 0.44 ∙ 2 = 0.88 𝑝𝑎𝑟𝑡𝑒 𝑖𝑛𝑡𝑒𝑟𝑎 0

1

L’addizione è binaria.

(2)

2 0.88 ∙ 2 = 1.76 𝑝𝑎𝑟𝑡𝑒 𝑖𝑛𝑡𝑒𝑟𝑎 1

0.76 ∙ 2 = 1.52 𝑝𝑎𝑟𝑡𝑒 𝑖𝑛𝑡𝑒𝑟𝑎 0 0.52 ∙ 2 = 1.04 𝑝𝑎𝑟𝑡𝑒 𝑖𝑛𝑡𝑒𝑟𝑎 1 0.04 ∙ 2 = 0.08 𝑝𝑎𝑟𝑡𝑒 𝑖𝑛𝑡𝑒𝑟𝑎 0 0.08 ∙ 2 = 0.16 𝑝𝑎𝑟𝑡𝑒 𝑖𝑛𝑡𝑒𝑟𝑎 0 0.16 ∙ 2 = 0.32 𝑝𝑎𝑟𝑡𝑒 𝑖𝑛𝑡𝑒𝑟𝑎 0 0.32 ∙ 2 = 0.64 𝑝𝑎𝑟𝑡𝑒 𝑖𝑛𝑡𝑒𝑟𝑎 0 0.64 ∙ 2 = 1.28 𝑝𝑎𝑟𝑡𝑒 𝑖𝑛𝑡𝑒𝑟𝑎 1 0.28 ∙ 2 = 0.56 𝑝𝑎𝑟𝑡𝑒 𝑖𝑛𝑡𝑒𝑟𝑎 0 Ci fermiamo qui e notiamo che il numero è periodico.

4. 78 10 = 100.110001111010101000010 ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ 2

Ma abbiamo detto che per la parte frazionaria abbiamo a disposizione solo 3 bit quindi dobbiamo troncare. Nel nostro elaboratore:

4. 78 10 = 0100.110 2 Da questo semplice esempio possiamo dedurre che:

 Alcuni numeri con rappresentazione finita in base 10 sono periodici in base 2;

 In un elaboratore non possiamo rappresentare tutti i numeri razionali.

Abbiamo anche visto come convertire un numero razionale decimale in binario. Ci chiediamo: quando fermarci? Nell’esempio il numero è periodico. Ci siamo fermati perché se avessimo continuato avremmo ripetuto tutti i passaggi; infatti abbiamo ritrovato una parte frazionaria già considerata. E se il numero non fosse stato periodico quando avremmo dovuto fermarci? Vediamolo con un esempio. Convertiamo in binario il numero decimale 6.5. Procediamo con la parte intera:

6: 2 = 3 𝑟𝑒𝑠𝑡𝑜 0 3: 2 = 1 𝑟𝑒𝑠𝑡𝑜 1 1: 2 = 0 𝑟𝑒𝑠𝑡𝑜 1 Quindi:

6 10 = 110 2 Adesso la parte frazionaria:

0.5 ∙ 2 = 1.00 𝑝𝑎𝑟𝑡𝑒 𝑖𝑛𝑡𝑒𝑟𝑎 1 La parte frazionaria è 0 quindi dobbiamo fermarci. Ma allora:

6. 5 10 = 110. 1 2 Nel nostro elaboratore troveremmo:

6. 5 10 = 0110.100 2 E se il numero fosse negativo?

Nessun problema. Basta ricordare che il primo bit rappresenta il segno: 0 positivo, 1 negativo.

−6. 5 10 = 1110.100 2

(3)

3 Per finire convertiamo un numero binario razionale in un numero decimale. Ad esempio 10011.1101

Cominciamo con la parte intera. Il bit più significativo (quello più a sinistra) è uguale a 1 e indica che il numero è negativo.

0011 2 = 0 ∙ 2 3 + 0 ∙ 2 2 + 1 ∙ 2 1 + 1 ∙ 2 0 = 2 + 1 = 3 10 Parte frazionaria:

0.1101 2 = 1 ∙ 2 −1 + 1 ∙ 2 −2 + 0 ∙ 2 −3 + 1 ∙ 2 −4 = 1 2 + 1

4 + 1

16 = 8 + 4 + 1

16 = 11

16 = 0.6875 10 Ma allora:

10011.1101 2 = −3.6875 10 Questa rappresentazione non è efficiente.

 Si sprecano bit per rappresentare gli 0. Ritornando al nostro calcolatore che usa 4 bit per la parte intera e 3 per quella frazionaria per rappresentare il numero 0.101 sprecheremmo 2 bit perché diventerebbe 0000.101. Analogamente per il numero 1010.0 che diventerebbe 1010.000.

 Non è possibile rappresentare numeri molto grandi o molto piccoli.

Per questo motivo questo tipo di rappresentazione si usa molto raramente.

Questo file può essere scaricato gratuitamente. Se pubblicato citare la fonte.

Matilde Consales

Riferimenti

Documenti correlati

Una persona ha circa tanti litri di sangue quanto il 7% del proprio peso in kg.. Quanti globuli rossi ci sono nel sangue di una persona di

La sogliola si difende mimetizzandosi sul fondoF la seppia secerne un liquido nero che intorbida l’acquaF il pesce spada lotta con la sua lama affilata. Nel mio astuccio ci

La conversione in binario pu` o essere interrotta una volta ottenute 24 cifre totali (comprensive di parte intera e parte frazionaria, considerando il bit nascosto) oppure una

[r]

Supponendo di realizzare il controllore utilizzando una libreria matematica in virgola fissa, si stimi il minimo numero di cifre decimali dopo la virgola necessario a rappresentare

Alla domanda su come fare a rappresentare tre, i bambini ci hanno pensato un attimo per poi concludere correttamente che dovevano alzarsi sia quelli della prima che della seconda

o poiché il resto è sempre minore del divisore, e quindi esiste soltanto un numero finito di resti possibili, prima o poi dovrà per forza ripresentarsi un resto identico ad uno

( da “Nel mondo dei numeri e delle operazioni” vol. Colombo Bozzolo, Angela Costa e Carla Alberti Erickson pag 69).. Gli aiutanti di Maga Ortensia hanno raccolto nel