Partage
  • Partager sur Facebook
  • Partager sur Twitter

transformer un chiffre en binaire

Sujet résolu
    14 janvier 2020 à 13:01:38

    Bon voilà le problème. Je dois transformer un chiffre en langage binaire grâce à une table de 7bits que j'ai créé.

    Le problème est que quand on envoie un chiffre dans le code pour le transformer, le code ne fonctionne pas et je ne trouve pas l'erreur.

    J'ai assisté au cours de PHP mais j'ai essayé de créé un code identique en batch. Je sais que ce n'est pas le bon forum mais je ne l'ai pas trouvé.

    Si vous pouviez m'aider à trouver l'erreur, cela m'arrangerait beaucoup...

    • Partager sur Facebook
    • Partager sur Twitter
      14 janvier 2020 à 13:30:37

      https://openclassrooms.com/forum/categorie/autres-langages-vba-ruby
      • Partager sur Facebook
      • Partager sur Twitter
        14 janvier 2020 à 13:36:20

        c'est cool d'avoir répondu mais les topics répondent pas à ma question...

        C'est juste pour savoir comment on fait pour traduire un chiffre logiquement en binaire...

        • Partager sur Facebook
        • Partager sur Twitter
          14 janvier 2020 à 14:17:06

          Bonjour,

          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 Code 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>.

          Liens conseillés

          • Partager sur Facebook
          • Partager sur Twitter
            14 janvier 2020 à 16:22:13

            Bonjour,

            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
            




            • Partager sur Facebook
            • Partager sur Twitter
              15 janvier 2020 à 12:17:55

              Désolé mais ce n'est pas exactement les codes que je recherchais...

              Je pensais à un autre style de code, plutôt en PHP, mais je vous l'envoie ce soir car

              pour l'instant je ne peux pas...

              • Partager sur Facebook
              • Partager sur Twitter
                15 janvier 2020 à 21:30:05

                Bonsoir,

                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… :waw:

                -
                Edité par Blaster13 15 janvier 2020 à 21:31:01

                • Partager sur Facebook
                • Partager sur Twitter
                  28 avril 2020 à 21:38:32

                  Merci beaucoup de ta réponse, même si au final j'ai retapé un code plus sûr sous PHP :lol:.

                  Je vous souhaite à tous un très bon confinement ! :ninja:

                  • Partager sur Facebook
                  • Partager sur Twitter
                    28 avril 2020 à 21:44:02

                    Bonjour,

                    Sujet résolu

                    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 ;)
                    • Partager sur Facebook
                    • Partager sur Twitter

                    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.
                    • Editeur
                    • Markdown