Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 31/01/2013, à 19:28

renaud07

conversion décimal/binaire/hexa

Bonjour,

Dans mes exos de BTS on me demande de convertir (230)10 en binaire par la méthode des poids, mais dans le cours ils ne mentionnent que la méthode par division successive et j'ai beau chercher sur google je ne trouve pas d'exemple avec la méthode des poids.

Si quelqu'un sait comment ça marche ?

Merci d'avance.

PS : en faisant avec la méthode des division, en premier je trouve qui reste 0 quand je fais 230/2 alors qu'en vérifiant au convertisseur ça trouve 1 yikes Je calcule pas comme il faut ou quoi ?

Dernière modification par renaud07 (Le 31/01/2013, à 19:49)


Fixe : AMD FX 8350 4Ghz - Asus M5A97 R2.0 - nVidia GT610 - RAM 8 Go - triple boot Ubuntu 18.04 MATE 64 bits / Manjaro MATE 17 64 bits / Windows 7 64 bits
Portable : Dell vostro 3550 - Intel core i5 2410M 2.30Ghz  - HD Gaphics 3000 - RAM 4 Go - dualboot Xubuntu 18.04 64 bits / Windows 7 64 bits

Hors ligne

#2 Le 31/01/2013, à 20:22

Jules Petibidon

Re : conversion décimal/binaire/hexa

À priori tu calcules comme il faut.

A savoir quand même que cette méthode de calcul te donne la séquence de bits à l'envers.

Hors ligne

#3 Le 31/01/2013, à 20:24

pierrecastor

Re : conversion décimal/binaire/hexa

De mémoire, je dirait que c'est un truc comme ça, mais c'est loin.

255
, trop haut.
128+64+32+16(trop haut)+8(trop haut)+4+2

Donc 11100110


Mais c'est vieux sans certitude et à l'arrache.

En tout cas, je sais que je calculais beaucoup plus vite comme ça qu'avec les divisions.


Oui c'est bien plus ouf et c'est bien bandant
Courir nu la bite à l'air, courir nue la fouffe au vent
Ludwig von 88 - Fracas

Hors ligne

#4 Le 31/01/2013, à 21:17

Abel 0

Re : conversion décimal/binaire/hexa

Jules Petibidon : +1


renaud07, quand tu calcules le reste de 230 / 2, ça revient à vérifier si ce nombre est pair ou impair : en notation binaire, cette information est représentée par le bit de poids faible. Si tu continuais ta méthode, tu trouverais 01100111, c'est-à-dire la lecture inversée du résultat.

Si ça peut t'aider, interroges-toi sur la manière dont tu interprètes un nombre en décimal :
(12340)10, il te parait naturel que c'est 1 dizaine de milliers + 2 milliers + 3 centaines + 4 dinzaines + 0 unités ?
Tu as dû voir les puissances ? écrit autrement, ça donne :
(12340)10 = 1 x 10^4 + 2 x 10^3 + 3 x 10^2 + 4 x 10^1 + 5 x 10^0, sachant que 10^0 = 1 (x^0 = 1 pour tout x != 0)

Cette décomposition en puissances de 10 - ou sa version "en français" - parait naturelle et évidente, parce que c'est le système de numération qu'on utilise tous, souvent, et depuis longtemps. Mais dis-toi que ce 10, ce n'est rien d'autre que la base de numération dans laquelle tu calcules.
De même, on peut donc écrire (12340)2 = A x 2^n + B x 2^(n-1) + ... + Q x 2^1 + R x 2^0
Ce sont ces "A, B, ..., Q, R" que tu cherches.

Jusque là, tu ne dois pas avoir l'impression que le schmilblick avance beaucoup... Mais le parallèle ci-dessus est important.
En effet, il te parait naturel de décaler la virgule d'un cran quand tu divises par 10, non ?
12340 / 10 = 1234... EN BASE 10 !   En fait, (12340)10 / 10 = (1234_)10
Eh bien, de même, (11100110)2 / 2 = (1110011_)2

Si tu appliques la méthode des divisions en base 10, ça revient à dire :
(12340)10 / 10 = (1234)10, reste 0 donc j'ai 0 unités (0 x 10^0)
(1234)10 / 10 = (123)10, reste 4 donc j'ai 4 dizaines (4 x 10^1)
(123)10 / 10 = (12)10, reste 3 donc j'ai 3 centaines (3 x 10^2)
(12)10 / 10 = (1)10, reste 2 donc j'ai 2 milliers (2 x 10^3)
(1)10 / 10 = (0)10, reste 1 donc j'ai 1 dizaine de milliers (1 x 10^4)
Et tu vois bien que tu construis avec cette méthode ton nombre 12340 par la fin (0, 4, 3, 2, 1).

C'est la même chose en binaire, sauf que tu divises par 2 pour passer d'un rang à l'autre wink

Ca, c'était pour ton PS ^^
Pour ta question sur la méthode des poids, le "poids" c'est le facteur associé à chaque digit (donc le 1 ou le 0 de chaque rang, en binaire).
Je ne connais pas de "méthode des poids" et n'ai pas vraiment trouvé non plus en cherchant rapidement, mais je pense que ça doit correspondre à ce que vient d'indiquer la Vache Qui Rit wink
En effet, j'y vois une analogie avec des pesées successives à la balance : tu mets un poids, ça va ; t'en rajoute un, c'est trop ; tu remplaces le dernier posé par un autre de poids plus faible ; etc.

Dernière modification par Abel 0 (Le 31/01/2013, à 21:31)

Hors ligne

#5 Le 31/01/2013, à 21:48

renaud07

Re : conversion décimal/binaire/hexa

jules petibidon a écrit :

A savoir quand même que cette méthode de calcul te donne la séquence de bits à l'envers.

Oups oui j'ai pas lu dans le bon sens donc c'est bon je retrouve le bon résultat smile Par contre j'ai une autre question, quand on trouve en résultat 1 et reste 1 on s'arrête c'est ça ?


Fixe : AMD FX 8350 4Ghz - Asus M5A97 R2.0 - nVidia GT610 - RAM 8 Go - triple boot Ubuntu 18.04 MATE 64 bits / Manjaro MATE 17 64 bits / Windows 7 64 bits
Portable : Dell vostro 3550 - Intel core i5 2410M 2.30Ghz  - HD Gaphics 3000 - RAM 4 Go - dualboot Xubuntu 18.04 64 bits / Windows 7 64 bits

Hors ligne

#6 Le 31/01/2013, à 22:04

renaud07

Re : conversion décimal/binaire/hexa

pierrecastor a écrit :

De mémoire, je dirait que c'est un truc comme ça, mais c'est loin.

255, trop haut.
128+64+32+16(trop haut)+8(trop haut)+4+2

Donc 11100110

Tu additionnes le binaire de chaque nombre (128....) pour obtenir 230 en binaire ?

Dernière modification par renaud07 (Le 31/01/2013, à 22:07)


Fixe : AMD FX 8350 4Ghz - Asus M5A97 R2.0 - nVidia GT610 - RAM 8 Go - triple boot Ubuntu 18.04 MATE 64 bits / Manjaro MATE 17 64 bits / Windows 7 64 bits
Portable : Dell vostro 3550 - Intel core i5 2410M 2.30Ghz  - HD Gaphics 3000 - RAM 4 Go - dualboot Xubuntu 18.04 64 bits / Windows 7 64 bits

Hors ligne

#7 Le 31/01/2013, à 22:05

pierrecastor

Re : conversion décimal/binaire/hexa

renaud07 a écrit :

Tu additionnes le binaire de chaque nombre (128....) pour obtenir 230 en binaire ?


C'est ça, j’additionne le poids de chaque nombre. C'est ce que j'ai trouvé de plus rapide pour convertir à la main.


Oui c'est bien plus ouf et c'est bien bandant
Courir nu la bite à l'air, courir nue la fouffe au vent
Ludwig von 88 - Fracas

Hors ligne

#8 Le 31/01/2013, à 22:09

renaud07

Re : conversion décimal/binaire/hexa

pierrecastor a écrit :

C'est ça, j’additionne le poids de chaque nombre. C'est ce que j'ai trouvé de plus rapide pour convertir à la main.

Ok, mais si tu sais ce que vaut 128 et tous les autres en binaire, c'est pas plus rapide que la division du coup hmm

Dernière modification par renaud07 (Le 31/01/2013, à 22:10)


Fixe : AMD FX 8350 4Ghz - Asus M5A97 R2.0 - nVidia GT610 - RAM 8 Go - triple boot Ubuntu 18.04 MATE 64 bits / Manjaro MATE 17 64 bits / Windows 7 64 bits
Portable : Dell vostro 3550 - Intel core i5 2410M 2.30Ghz  - HD Gaphics 3000 - RAM 4 Go - dualboot Xubuntu 18.04 64 bits / Windows 7 64 bits

Hors ligne

#9 Le 31/01/2013, à 22:12

pierrecastor

Re : conversion décimal/binaire/hexa

renaud07 a écrit :

Ok, mais si tu sais ce que vaut 128 et tous les autres en binaire, c'est pas plus rapide que la division du coup hmm


Tu n'as pas manipulé assez, je pense. Ca rentre tout seul.

1 - 2 - 4 - 8 - 16 - 32 - 64 - 128 - 256 - 512 etc.


Oui c'est bien plus ouf et c'est bien bandant
Courir nu la bite à l'air, courir nue la fouffe au vent
Ludwig von 88 - Fracas

Hors ligne

#10 Le 31/01/2013, à 22:15

Jules Petibidon

Re : conversion décimal/binaire/hexa

Avec l'habitude, la méthode de pierrecastor est plus intuitive (de toute manière les conversions decimal/octal/hexa/binaire à la main c'est juste pour faire comprendre le principe, en réalité tu t'en sers rarement), mais ça devient un peu galère pour les trop grands nombres, ou la division est longue mais largement plus simple.

Hors ligne

#11 Le 31/01/2013, à 22:28

renaud07

Re : conversion décimal/binaire/hexa

pierrecastor a écrit :

Tu n'as pas manipulé assez, je pense. Ca rentre tout seul.

1 - 2 - 4 - 8 - 16 - 32 - 64 - 128 - 256 - 512 etc.

Effectivement c'est la première fois que j'en fais, enfin, j'en avais fais un peu en terminal mais rapide donc bon, et vu que je suis du genre à oublier les choses au fur et mesure, mis à part les trucs qui m’intéressent vraiment roll

Dernière modification par renaud07 (Le 31/01/2013, à 22:29)


Fixe : AMD FX 8350 4Ghz - Asus M5A97 R2.0 - nVidia GT610 - RAM 8 Go - triple boot Ubuntu 18.04 MATE 64 bits / Manjaro MATE 17 64 bits / Windows 7 64 bits
Portable : Dell vostro 3550 - Intel core i5 2410M 2.30Ghz  - HD Gaphics 3000 - RAM 4 Go - dualboot Xubuntu 18.04 64 bits / Windows 7 64 bits

Hors ligne

#12 Le 01/02/2013, à 03:27

renaud07

Re : conversion décimal/binaire/hexa

J'ai un autre exo dans le même genre avec des variables et à la question posée je ne sais pas ce qu'il faut que je représente en binaire (vraiment bien faite la question roll), voici :

exo a écrit :

2. Donnez la représentation binaire en mémoire de trois variables déclarées ainsi en C#
(utilisez l’annexe 2 si nécessaire) :

int num1;
int num2;
string annee;
num1 = 2004;
num2 = -2004;
annee = “2004”;

Je ne sais pas si je dois représenter le 2004, les variables num1 num2 annee ou tout.

Une idée ?

Dernière modification par renaud07 (Le 01/02/2013, à 03:28)


Fixe : AMD FX 8350 4Ghz - Asus M5A97 R2.0 - nVidia GT610 - RAM 8 Go - triple boot Ubuntu 18.04 MATE 64 bits / Manjaro MATE 17 64 bits / Windows 7 64 bits
Portable : Dell vostro 3550 - Intel core i5 2410M 2.30Ghz  - HD Gaphics 3000 - RAM 4 Go - dualboot Xubuntu 18.04 64 bits / Windows 7 64 bits

Hors ligne

#13 Le 01/02/2013, à 12:14

Abel 0

Re : conversion décimal/binaire/hexa

Tu dois représenter leur valeur : 2004, -2004 et "2004"
L'idée semble être de te faire manipuler des valeurs entières positives et négatives, et des caractères (3ème cas).

Hors ligne

#14 Le 01/02/2013, à 16:02

renaud07

Re : conversion décimal/binaire/hexa

Ok, je pensais à ça aussi mais merci d'avoir confirmé wink


Fixe : AMD FX 8350 4Ghz - Asus M5A97 R2.0 - nVidia GT610 - RAM 8 Go - triple boot Ubuntu 18.04 MATE 64 bits / Manjaro MATE 17 64 bits / Windows 7 64 bits
Portable : Dell vostro 3550 - Intel core i5 2410M 2.30Ghz  - HD Gaphics 3000 - RAM 4 Go - dualboot Xubuntu 18.04 64 bits / Windows 7 64 bits

Hors ligne