comment transformer cette numero en binaire 13.246
-----
comment transformer cette numero en binaire 13.246
Bonsoir
sous quelle norme?
tu décomposes en somme de puissance de 2, comme dans toutes conversion décimale -> binaire.
Pour la partie décimale, les puissances sont négatives.
Nombre décimal = an.2n+ ... + a1.21+a0+a-1.2-1+a-2.2-2 + ...
et ai= 0 ou 1
A+
salut,
ca fait: 11001110111110
si tu ne sais pas faire par le calcul tu peut utiliser la calculatricre de Windows que tu met en affichage scientifique et tu pourra convertir par exemple decimal en binaire, etc....
a+
Tu as oublié la virgule
La calculatrice windows ne tient pas compte des parties décimales.
A+
autant pour moi je croyais que c'etait 13 246
a+
bonjour,
pour representer un nombre reel , le plus simple est d'utiliser la representation en virgule flottante.
un petit tour sur ce site http://www.arcanapercipio.com/gen/binaire/bin-nb.php
te permettra de degrossir le probleme.
fred
Bonjour,
Pour compléter Jack de manière pratique pour calculer la partie décimale, il suffit de multiplier cette partie décimale par 2 et de noter le chiffre des unités que l'on obtient.
Pour être plus clair qu'avec des mots, l'exemple avec 0,246
0,246 * 2 = 0,492
0,492 * 2 = 0,984
0,984 * 2 = 1,968 (on ne retient que la partie décimale, pour l'étape suivante).
0,968 * 2 = 1,936
0,936 * 2 = 1,872
Ce qui donne ,00111... Il faut continuer le calcul pour avoir les autres nombres après la virgule (en passant si quelqu'un sait s'il existe un nom aux 'décimales binaires' je suis preneur)
Ensuite on recolle avec la partie entière :
(13)¹° = (1101)²
(13,246)¹° = (1101,00111...)²
Voilà
AZT
Nous sommes toujours de la taille de l'univers que nous découvrons. [Frédérick Tristan]
Bonjour,
Pour compléter Jack de manière pratique pour calculer la partie décimale, il suffit de multiplier cette partie décimale par 2 et de noter le chiffre des unités que l'on obtient.
Pour être plus clair qu'avec des mots, l'exemple avec 0,246
0,246 * 2 = 0,492
0,492 * 2 = 0,984
0,984 * 2 = 1,968 (on ne retient que la partie décimale, pour l'étape suivante).
0,968 * 2 = 1,936
0,936 * 2 = 1,872
Ce qui donne ,00111... Il faut continuer le calcul pour avoir les autres nombres après la virgule (en passant si quelqu'un sait s'il existe un nom aux 'décimales binaires' je suis preneur)
Ensuite on recolle avec la partie entière :
(13)¹° = (1101)²
(13,246)¹° = (1101,00111...)²
Voilà
AZT
Et pourquoi on ne continue pas à multiplier par 2 ?
Je ne comprends pas ce raisonnement.
Merci pour tes (vos) lumières.
Gérard.
bonjour,
la virgule est un symbole non numerique qui se rajoute aux chiffres (qui sont a l'origine prevus pour representer les nombres entiers) pour pouvoir representer les nombres reels.
Si on veut representer la virgule en binaire, il faut donc un symbole suplementaire.... on a que 0 ou 1 et ils sont deja utilisés.
Pour representer la virgule en binaire on peut alors utiliser une convention, c'est entre autre la virgule flottante.
Le principe de la virgule flottante est le suivant:
on represente la mantisse, une succession de chiffres sans notion de virgule sur X bits et on va representer la position de la virgule par un exposant sur Y bits
comme en binaire naturel on ne peut pas representer non plus de nombres negatifs, l'ensemble de ces informations seront codés en complement a 2.
donc pour coder un simple petit nombre reel, on est forcé d'iutiliser quelque chose qui est deja trés eloigné du binaire naturel.
fred
Bonjour,
On peut, et même on doit, continuer à multiplier par 2, en ne gardant que la partie après la virgule à chaque fois. Mais en principe il faudrait garder toutes les décimales, et il y en a a priori une infinité. D'où les points de suspension dans la réponse de azt.
Et en fait, après quelques essais sur Excel, j'ai bien l'impression que 0,246(10) n'a pas un développement fini en base 2. C'est d'ailleurs déjà le cas pour 1/10 si je me souviens bien. Tout ce dont on peut être certain c'est que ce développement sera périodique (à partir d'un certain rang) parce que 0,246=246/1000 est rationnel.
-- françois
J'ai continué les calculs dans un tableau cela donne , après la virgule :
,00111110111110011101101100100 0101101000011100101011
Pour le 51ème chiffre, on a 2*0,500 cela donne 1 et il ne reste plus rien pour continuer les calculs.
Le développement en base 2 s'arrête donc là.
Code:0.246 0.492 0 0.984 0 0.968 1 0.936 1 0.872 1 0.744 1 0.488 1 0.976 0 0.952 1 0.904 1 0.808 1 0.616 1 0.232 1 0.464 0 0.928 0 0.856 1 0.712 1 0.424 1 0.848 0 0.696 1 0.392 1 0.784 0 0.568 1 0.136 1 0.272 0 0.544 0 0.088 1 0.176 0 0.352 0 0.704 0 0.408 1 0.816 0 0.632 1 0.264 1 0.528 0 0.056 1 0.112 0 0.224 0 0.448 0 0.896 0 0.792 1 0.584 1 0.168 1 0.336 0 0.672 0 0.344 1 0.688 0 0.375 1 0.750 0 0.500 1 0.000 1 0.000 0
Nous sommes toujours de la taille de l'univers que nous découvrons. [Frédérick Tristan]
Bonjour,
J'ai bien le même résultat, mais je me suis demandé si ce n'était pas Excel qui perdait des chiffres significatifs en route. J'avoue que je n'ai pas regardé de plus près.
-- françois
Tu as raison, il y a un problème :
0,688 * 2 = 1,376Code:0.688 0 0.375 1
Les tableurs font n'importe quoi, j'ai testé avec Open Office, même chose
Après réflexion, pour que cela s'arrête il faut arriver avec un 0 sur 3eme chiffre après la virgule, ce n'est pas possible ici, on aura toujours le cycle 2 - 4 - 8 - 6
Nous sommes toujours de la taille de l'univers que nous découvrons. [Frédérick Tristan]
Bonjour tout le monde,
n'importe quoi c'est peut être un peu exagéré mais c'est vrai qu'il ne faut pas avoir une confiance aveugle en nos tableurs et autres calculatrices...
Excel est limité à 15 décimales, donc il fait des arrondis sur tous les calculs et ça peut parfois conduire à des résultats très surprenants !
Pour connaitre les limitations, faites une recherche sur "specification Excel" dans l'aide ou jettez un oeil ici.
FlyerMike
Bonjour
Juste un détail les nombres flottants ne représentent pas les réels mais seulement une partie des nombres rationels.
Cette erreur est assez commune et a conduit à bon nombre de catastrophes.
pour la conversion en binaire on gagne du temps en passant par l'hexadecimal([0..F] en remplaçant la multiplication par 2 par une par 16 (4 fois moins de calculs).
JR