Partage
  • Partager sur Facebook
  • Partager sur Twitter

Conversion d'un nombre décimale en base 2

Pourquoi ça marche ?

    29 juillet 2022 à 13:45:07

    Bonjour,

    Ayant un niveau mathématique précaire :D je viens solliciter des explications, je suis en train d'apprendre le langage C , dans le cours,  le sujet de la mémoire et la façon dont les nombres sont stocké à attisé ma curiosité et je suis allé voir une vidéo YouTube qui explique comment passer d'un nombre décimale en base 2 .

    La méthode utilisé est la division euclidienne successive du Reste de la division, par 2 jusqu’à que le Reste soit 0.  et le Résultat se lit de droite à gauche. Mais je comprends pas pourquoi cette méthode marche, le lien qu'il y a avec la division euclidienne vers cette conversion en base 2 .

    A la base on devait pas utilisé la division Euclidienne pour partager les bonbons ? :D

    Merci d'avance. !

    -
    Edité par ZnFe 29 juillet 2022 à 13:45:36

    • Partager sur Facebook
    • Partager sur Twitter
      31 juillet 2022 à 1:22:40

      Je te donne un petit exemple avec le nombre 13:
      13 % 2 = 1   et 13 / 2 = 6
      6 % 2 = 0   et 6 / 2 = 3
      3 % 2 = 1   et 3 / 2 = 1
      1 % 2 = 1   et 1 / 2 = 0
      Si je prend les restes de bas en haut, ça donne 1101
      1*2^3 + 1*2^2 + 0*2^1 + 1*2^0 = 8 + 4 + 0 + 1
      Ça donne bien 13?

      La division euclidienne sert beaucoup, il faudra t'y habituer.
      Je te donne un autre exemple:
      J'ai des nombres de la forme 6*n-1 et 6*n+1 dans un tableau
      Je te donne les indices sur une ligne et les valeurs sur l'autre:
      0 1 2 3
      5 7 11 13
      Je veux savoir la valeur de n pour chaque position
      0 / 2 = 0
      1 / 2 = 0
      2 / 2 = 1
      3 / 2 = 1
      Je n'ai qu'à ajouter 1 à ces valeurs pour obtenir la bonne valeur de n

      -
      Edité par PierrotLeFou 31 juillet 2022 à 1:38:49

      • Partager sur Facebook
      • Partager sur Twitter

      Le Tout est souvent plus grand que la somme de ses parties.

        31 juillet 2022 à 15:06:43

        En fait ce qui m'avait étonné c'est d'avoir trouver l'idée d’utiliser le Reste d'une division Euclidienne pour traduire un nombre décimal en base 2 et qu'en plus on continue la division sur le Reste en cours. Et que tout ça la fin en lisant de droite à gauche on est établie cette conversion et que le lien entre chaque étape est cohérent . Car dans mon esprit le Reste c'est le reste point, c'est un peu le "déchet" du truc . ^^

        Après ton second paragraphe me laisse confus, je n'ai pas bien saisie l'énoncé , désolé faut tout décortiquer avec moi, merci tout de même pour ton approche.

        • Partager sur Facebook
        • Partager sur Twitter
          1 août 2022 à 0:49:51

          Tu dis que tu as commencé à étudier le langage C. Peut-être que tu n'as pas encore étudié les tableaux?
          Je reprend mon exemple avec le nombre 13. Je ne suis pas superstitieux. :)
          Supposons que j'ai acheté quelque chose et qu'on doit me remettre 13 euros.
          Supposons qu'il n'ya que des billets de 5, 2 et 1 euro dans la caisse.
          Alors:
          13 / 5 = 2   reste 3
          3 / 2 = 1   reste 1
          1 / 1 = 1   reste 0
          Donc, on me remettra 2 billets de 5 euros, un billet de 2 euro et 1 billet de 1 euro
          On commence toujours par la devise la plus forte. Tu auras sans doute des exercices de ce genre à programmer.
          Le "reste", c'est justement ce qui  reste  à traiter.
          • Partager sur Facebook
          • Partager sur Twitter

          Le Tout est souvent plus grand que la somme de ses parties.

            1 août 2022 à 13:49:28

            D'accord j'ai compris ton exemple merci :D
            • Partager sur Facebook
            • Partager sur Twitter

            Conversion d'un nombre décimale en base 2

            × 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