Partage
  • Partager sur Facebook
  • Partager sur Twitter

Programme de conversion en binaire.

    12 février 2018 à 20:17:24

    Bonjour, j'essaye actuellement de créer un programme en js qui permet de convertir un nombre décimal (10) en binaire, et qu'il soit positif ou négatif. Pour ce qui est du côté positif, j'ai réussit, par contre au niveau négatif, je suis bloque. Je veux faire un complément à deux pour le rendre négatif. (complément à deux = je prends le nombre positif de départ, je le convertit en binaire, j'inverse tous ses bits (les 0 deviennent des 1 et ainsi de suite) et ensuite je lui ajoute 1 en binaire, et j’obtiens alors le nombre négatif que je voulait.). Mon problème est que je ne trouve pas le moyen d'inverser les bits puis d'ensuite ajouter 1 en binaire. PS : J'utilise toString pour convertir en binaire.

    SVP aidez-moi à résoudre mon problème.

    Merci d'avance

    • Partager sur Facebook
    • Partager sur Twitter
      12 février 2018 à 22:26:39

      Bonjour,

      tu peux parcourir ton nombre binaire avec substring par exemple, mettre chaque bit dans un array et parcourir cet array à l'envers.

      Pas très optimisé mais pas d'autres idées pour le moment...

      • Partager sur Facebook
      • Partager sur Twitter
        13 février 2018 à 21:06:36

        Ok d'accord merci pour votre réponse, je vais essayer de faire cela ;)

        Avez-vous des solutions pour mon problèmes de complément à deux, où je dois inverser les bits pour ensuite lui ajouter 1 en binaire.

        Merci d'avance ;)

        • Partager sur Facebook
        • Partager sur Twitter
          16 février 2018 à 17:00:28

          Personne pour m'aider ?

          PS : Comment fait-on avec substring ?

          -
          Edité par DiaXgamerPC 16 février 2018 à 18:54:54

          • Partager sur Facebook
          • Partager sur Twitter
            16 février 2018 à 20:12:50

            Pas besoin de substr, par exemple avec

            var bin="010111100";
            var invBin=bin.split("").map(function(elm){return 1-elm}).join("");
            
            console.log(bin+" "+invBin);

            mais, le mieux serait de travailler avec des objets.

            -
            Edité par 007julien 17 février 2018 à 15:53:18

            • Partager sur Facebook
            • Partager sur Twitter
              17 février 2018 à 14:58:37

              Ok merci je vais afir ça. Et savez-vous de combien sont les bits maximum pour la représentation d'un nombres entiers en JS ?
              • Partager sur Facebook
              • Partager sur Twitter
                17 février 2018 à 16:05:44

                Les nombres sont stockés avec des mantisses de 52 bits (2^53-1=>90 0719925 4740991 sur les processeurs à 64 bits mais les opérateurs binaires et les décalages de bits opèrent seulement sur des entiers de 32 bits.
                • Partager sur Facebook
                • Partager sur Twitter
                  17 février 2018 à 16:17:22

                  Ok d'accord, c'est quoi des mantisses ?  Et ducoup un nombre entier peut utiliser combien de bits au max ?

                  Là ils disent pas 64 bits ? https://blog.netapsys.fr/convertir-une-chaine-javascript-en-number-2/

                  -
                  Edité par DiaXgamerPC 17 février 2018 à 16:20:24

                  • Partager sur Facebook
                  • Partager sur Twitter
                    17 février 2018 à 17:13:48

                    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER

                    52 bits max

                    -
                    Edité par Stelyus 17 février 2018 à 17:14:18

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Si vous voulez me mp, venez sur Discord (username: Stelyus#8984)
                      17 février 2018 à 17:17:06

                      ok merci ducoup c'est 2^53 le nombre maximum pouvant être représenté en JS ?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        19 février 2018 à 0:11:14

                        2^53-1
                        • Partager sur Facebook
                        • Partager sur Twitter
                        Si vous voulez me mp, venez sur Discord (username: Stelyus#8984)
                          21 février 2018 à 20:05:33

                          Ok merci et c'est pareil au niveau négatif (52bits) et positif (52bits) ?

                          -
                          Edité par DiaXgamerPC 21 février 2018 à 20:55:03

                          • Partager sur Facebook
                          • Partager sur Twitter
                            24 février 2018 à 16:55:06

                            Trouve toi meme ta reponse en cherchant sur internet, tu ne trouveras pas tout le temps la reponse sur un forum, essaye d'etre autodidacte
                            • Partager sur Facebook
                            • Partager sur Twitter
                            Si vous voulez me mp, venez sur Discord (username: Stelyus#8984)
                              25 février 2018 à 1:42:40

                              Oui mais lorsque je demande sur ce forum, j'ai déjà cherché avant...

                              -
                              Edité par DiaXgamerPC 25 février 2018 à 1:42:48

                              • Partager sur Facebook
                              • Partager sur Twitter

                              Programme de conversion 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