Le message qui suit est une réponse automatique activée par un membre de l'équipe. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose, ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention. Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé. Pour plus d'informations, nous vous invitons à lire les règles générales du forum
Mauvais forum
Le sujet est déplacé de la section PHP vers la section Autres langages (VBA, Ruby,...)
Merci de colorer votre code à l'aide du bouton Code
Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue. Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: php;">Votre code ici</pre>.
Ton explication semble indiquer que tu souhaites faire --> Decimal to binary
Pourtant, ton code semble vouloir faire l'inverse --> Binary to decimal
Tu as mis une image à la place d'utiliser le bouton code </>, impossible de copier ton code .
Peut-être que les deux codes ci-dessous t'aideront.
Binary to Decimal:
@Echo off
setlocal EnableDelayedExpansion
Title Binary to Decimal
:loop
set /p "Bin=Binary Number: "
set Dec=0
for /L %%i in (1,1,32) do if defined Bin (
set /A "Dec=(Dec<<1)|!Bin:~0,1!"
set "Bin=!Bin:~1!"
)
echo %Dec%
echo.
Goto :loop
Decimal to Binary:
@echo off
setlocal EnableDelayedExpansion
Title Decimal to Binary
:loop
set /p "CNombreDec=Decimal Number: "
set BIN_RETURN=
for %%B IN (32768,16384,8192,4096,2048,1024,512,256,128,64,32,16,8, 4, 2, 1) DO (
set /a Cbit=!CNombreDec!/%%B
set /a CNombreDec=!CnombreDec!%%%%B
set BIN_RETURN=!BIN_RETURN!!Cbit!
)
echo !BIN_RETURN!
echo.
goto :loop
exit
J'ai eu le courage de retaper le code (ne refais jamais ça stp… )
Je vois 3 points qui me semblent étranges: - ligne 14 tu retires 1 au lieu de 2 à binary - ligne 16 enlèves le /a (ton retour n'est pas une opération vu comment tu cherches à le construire), sinon tu devrais faire: set /a hexadecimal=%x32%*100000+%x16%*10000+%x8%*1000+%x4%*100+%x2%*10+%x1% - 3ème point cf. au-dessus, tes poids sont inversés dans ton résultat (bien que cela n'a pas d'importance si tu utilises la multiplication par 10, 100,...)
Enfin, sache que tes résultats ne sont valables que pour des nombres inférieurs à 64 vu les circonstances.
En espérant avoir bien compris ce que tu cherchais à faire, car comme indiqué par Zaibai, ton code semble demander un binary mais cherche à le transformer... En binary…
Tu peux passer le sujet à "résolu" (bouton en haut à droite du sujet) et cliquer sur les pouces levés des messages qui t'ont aidé⋅e
transformer un chiffre en binaire
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Créateur de scripts d'automatisation en tout genre