Conversion irrationnel - binaire

Fermé
arnaud - 4 févr. 2009 à 00:31
 thomas - 5 févr. 2009 à 16:52
Bonjour,

La conversion en binaire me pose un problème pour coder un nombre irrationnel ( tel que racine de 2 )en binaire, ou du moins en ses premiers chiffres binaires.

J'ai alors eu deux idées (dans le cas de racine de 2 qui est généralisable), ou devrais-je parler d'esquisses d'idées: la 1ere consiste à convertir le nombre 1.4142135.... , mais c'est surement inefficace ( et même sans intérêt pour un calcul à la main ) , la 2e serait de considérer que sqrt(2)*sqrt(2)=2 et peut être de faire intervenir la multiplication en binaire..

Enfin, justement je n'en ai aucune idée; sauf erreur, je ne pense pas avoir vu parler de ça dans le forum, alors si quelqu'un peut me venir en aide ce sera avec joie!!
A voir également:

2 réponses

Bonjour

La représentation 'classique' des nombres en informatique, utilisée par tous les langages généralistes (C en tête), ne permet de représenter que des rationnels, et encore pas tous (il n'y a pas de représentation exacte de 1/3 par exemple). C'est ce qui correspond à ta première solution, il existe des formats standard IEEE pour ça.
Ta seconde solution, c'est du calcul symbolique et là ça devient très, très compliqué et même plus que ça car il faut représenter des expressions et plus seulement des valeurs numériques (comme à la main, d'ailleurs).Il existe peut-être des bibliothèques toutes faites pour ton langage. Personnellement je n'en connais aucune.
0
Mais dis moi Arnaud, ta 2eme idée n'est pas mal, mais ce n'est plus vraiment de la programmation, tu rentre dans l'arithmétique!
En utilisant ta 2eme proposition avec la racine et en posant sqrt(2)=1,abcd, tu élèves au carré et tu identifie avec le nombre 2 en binaire. ça ne marche pas ?
C'est quel langage que tu utilises?
0