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