Arithmetique

423 mots 2 pages
Le but de ce TD est de représenter le flottant 0.1 en simple et double précision en remarquant son développement binaire périodique.

En simple précision les nombres sont codés sur 32 bits, dont 1 bit de signe, 8 bits d'exposant et 23 bits de mantisse. En double précision les nombres sont codés sur 64 bits, dont 1 bit de signe, 11 bits d'exposant et 52 bits de mantisse. Sachant ceci, le nombre que nous cherchons doit avoir une période comprise entre 12 et 26.

Tout d'abord, pour mieux comprendre, nous donnons l'exemple vu en TD : x = 0.1. Nous faisons le programme en C et utilisons le debugger gdb, grâce à la commande ‘gdb’ et ensuite on transforme 0.1 en binaire grâce à ‘x/tw &x’, respectivement ‘x/tg &y’. x est le nom de la variable contenant le nombre décimal 0.1 en simple précision et y en double précision.

Session gdb pour x= 0.1

(gdb) list
1
2 #include
3
4 main ()
5 {
6
7 float x;
8 double y;
9 x=0.1;
10 y=0.1;
11 }
(gdb) break 11
Breakpoint 1 at 0x8048366: file periode.c, line 11.
(gdb) run
Starting program: /GM21/users/narmas/Bureau/arith /periode
Breakpoint 1, main () at periode.c:11
11 }

(gdb) print x
$3 = 0.100000001
(gdb) x /tw &x
0xbfec7c34: 00111101110011001100110011001101
(gdb) print y
$4 = 0.10000000000000001
(gdb) x /tg &y
0xbfec7c38: 001111111011100110011001100110011001100110011001100110011001

1010

Analyse des résultats:

Nous remarquons l'erreur relative sur x: 0.000000001 , respectivement sur y: 0.00000000000000001 .

Simple précision

bit du signe: 0 les 8 bits de l’exposant: 01111011 les 23 bits de la mantisse: 10011001100110011001101

Double précision

bit du signe: 0 les 11 bits de l’exposant: 01111111011 les 52 bits de la mantisse: 1001100110011001100110011001100110011001100110011010

La période est visible en simple et en double précision et sa longueur est 4

en relation

  • Mathématiques
    285 mots | 2 pages
  • Mathématiques
    364 mots | 2 pages
  • mathématiques
    1366 mots | 6 pages
  • mathématiques
    326 mots | 2 pages
  • Calculs
    658 mots | 3 pages
  • Mathématiques
    1136 mots | 5 pages
  • Mathématiques
    394 mots | 2 pages
  • Mathématiques
    727 mots | 3 pages
  • Mathématiques
    924 mots | 4 pages
  • Mathématiques
    1273 mots | 6 pages
  • Mathematiques
    895 mots | 4 pages
  • Mathématiques
    935 mots | 4 pages
  • Mathématiques
    1456 mots | 6 pages
  • Mathématique
    538 mots | 3 pages
  • Mathématique
    2238 mots | 9 pages