Partage
  • Partager sur Facebook
  • Partager sur Twitter

Conversions d’un nombre en base 10

    9 décembre 2022 à 9:47:27

    un programme qui demande à l’utilisateur de donner :
    • un nombre entier en base 10,
    • un nombre entier indiquant dans quelle base on souhaite convertir le nombre précédant - qui renvoie :
    • La liste des chiffres représentant la conversion effectuée sous la forme d’une chaîne de caractères. Vérifier le fonctionnement de votre programme avec les fonctions python
    format () ; int() ; bin() ; oct() ; hex().  comment puis-je faire ça je suis bloqué merci. 
    • Partager sur Facebook
    • Partager sur Twitter
      9 décembre 2022 à 22:04:39

      Bonjour,

      Manque de Politesse

      Votre message ne comporte pas ou peu de formules de politesse (« Bonjour », « Merci », « Au revoir », etc.). Les règles du site exigent que chaque nouveau message comporte un minimum de politesse. Après tout, les gens qui répondent le font gratuitement, sur leur temps libre. Ils méritent bien un minimum de considération, n'est-ce pas ?

      Liens conseillés


       Bonsoir,

      >> comment puis-je faire ça je suis bloqué

      Qu'est ce qui vous bloque? Merci de nous communiquer le code que vous avez écrit (inséré sur le forum avec le bouton code </>) et le langage dans lequel vous développez (Je déplacerais le sujet le cas échéant). 

      • Partager sur Facebook
      • Partager sur Twitter
        10 décembre 2022 à 4:03:42

        Ce topic pourrait être déplacé dans la catégorie Python puisque le PO y fait allusion.
        Je suis presque certain que cette question a déjà été demandée.
        J'ai déjà donné une réponse à un problème semblable en Python.
        • Partager sur Facebook
        • Partager sur Twitter

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

          10 décembre 2022 à 5:52:27

          PierrotLeFou a écrit:

          Ce topic pourrait être déplacé dans la catégorie Python puisque le PO y fait allusion.

          Bonjour, Juste.

          Déplacement vers un forum plus approprié

          Le sujet est déplacé de la section Discussions développement vers la section Langage Python



          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            10 décembre 2022 à 7:57:34

            Bonjour,

            Un minimum de code de votre part est demandé, nous n'allons pas faire votre exercice à votre place.
            • Partager sur Facebook
            • Partager sur Twitter
              12 décembre 2022 à 19:13:54

              et aussi nous dire ce qui te bloque.

              quelques éléments:

              en binaire (base 2), on représente un nombre avec des 0 et des 1

              en octal (base 8), on représente un nombre avec les chiffres 0, 1, 2, 3, 4, 5, 6, 7 

              en décimal (base 10), on représente un nombre avec les chiffres 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

              en hexadécimal (base 16), on représente un nombre avec les chiffres  0, 1, 2, 3, 4, 5, 6, 7, 8, 9 complété avec les lettres A, B, C, D, E, F (soit 16 symboles)

              imaginons une base 24, on représenterai les nombres avec les chiffres  0, 1, 2, 3, 4, 5, 6, 7, 8, 9 complété avec les lettres A, B, C, D, E, F, G, H, I, J, K, L, M, N (soit 24 symboles en tout) 

              exemple, le nombre (décimal 23) = (10111 en binair)e = (27 en octal) = (17 en hexa) = (N dans ma base 24)

              • Partager sur Facebook
              • Partager sur Twitter
                13 décembre 2022 à 18:29:53

                Quand on cherche un peu, on trouve:


                https://forums.commentcamarche.net/forum/affich-11820489-algorithme-de-conversion-de-base

                -
                Edité par PierrotLeFou 13 décembre 2022 à 19:02:46

                • Partager sur Facebook
                • Partager sur Twitter

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

                  13 décembre 2022 à 19:24:11

                  la méthode de base pour convertir de base 10 vers une autre base, c'est une division successive par la valeur de la nouvelle base, et on construit le nombre dans la nouvelle base de la droite vers la gauche (en utilisant le système de notation de la base)

                  23/16 =>1*16+7 => 7

                  1/16=>0*16+1 => 1

                  0

                  => résultat 17 (base 16)

                  division entière et modulo (ou division entière et calcul du reste)

                  • Partager sur Facebook
                  • Partager sur Twitter
                    13 décembre 2022 à 20:50:06

                    Pour passer le temps, un peu de curryfication... 

                    sym = "0123456789abcdefghijklmnopqrstuvwxyz"
                    conv = lambda base: lambda  x: x>=base and conv(base)(x//base)+sym[x%base] or sym[x] 
                    bin = conv(2)
                    oct = conv(8)
                    hex = conv(16)
                    
                    print(hex(65535))

                    -
                    Edité par josmiley 13 décembre 2022 à 21:14:14

                    • Partager sur Facebook
                    • Partager sur Twitter

                    Python c'est bon, mangez-en. 

                      13 décembre 2022 à 22:38:23

                      Par souci d'uniformité
                      dec = lambda n: "0d"+str(n)
                      • Partager sur Facebook
                      • Partager sur Twitter

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

                        14 décembre 2022 à 14:14:15

                        umfred a écrit:

                        la méthode de base pour convertir de base 10 vers une autre base, 

                        C'est une erreur certes pas grave mais courante que de formuler ainsi. On ne convertit pas de base 10 dans une autre base, de même qu'on ne dit pas que nous sommes en 2022 en base 10 : un nombre ne dépend pas d'une base, ce qui peut en dépendre c'est seulement sa représentation. Un peu comme une pomme existe indépendamment de apple ou manzana. Pour reprendre ton exemple :

                        >>> divmod(0o30-1, 16)
                        (1, 7)


                        La doc par exemple de la fonction oct ne dit pas qu'elle convertit un nombre de la base 10 en base 8.

                        -
                        Edité par PascalOrtiz 14 décembre 2022 à 14:14:41

                        • Partager sur Facebook
                        • Partager sur Twitter
                          14 décembre 2022 à 15:59:50

                          grrr, oui on représente le nombre x (sous entendu présenté en base 10) en base b (pour ma défense, je reprend les termes du PO (c'est crédible :-°? ); surtout que je parlai bien de représentation dans ma 1ère réponse).

                          Ceci dit, on n'évoque jamais la base de représentation des nombres courants, car il est naturel de s'exprimer en base 10 (on a (presque) tous 10 doigts).
                          on est en 2022 base 10, mais aussi en 7E6 base 16 (si on avait 16 doigts, on s'exprimerait surement en hexa, et sans doute en utilisant d'autres symboles que ceux que l'on utilise).

                          • Partager sur Facebook
                          • Partager sur Twitter
                            14 décembre 2022 à 16:51:35

                            umfred a écrit:

                            grrr, oui on représente le nombre x (sous entendu présenté en base 10) en base b (pour ma défense, je reprend les termes du PO (c'est crédible :-°? ); surtout que je parlai bien de représentation dans ma 1ère réponse).

                            Ceci dit, on n'évoque jamais la base de représentation des nombres courants, car il est naturel de s'exprimer en base 10 (on a (presque) tous 10 doigts).
                            on est en 2022 base 10, mais aussi en 7E6 base 16 (si on avait 16 doigts, on s'exprimerait surement en hexa, et sans doute en utilisant d'autres symboles que ceux que l'on utilise).

                            De nombreuses langues n'utilise pas la base 10, certaines utilisent une base 6 (6 positions de base de la main: fermée, 1 doigt, 2 doigts, ..., 5 doigts), d'autre une base 12 (puisqu'on a 12 phalanges sur chaque main), d'autre en base 20 (le Basque par exemple). Il n'est pas plus naturel de s'exprimer en base 10 qu'en base 12, 20 ou autre d'un point de vu cognitif.

                            -
                            Edité par Nephthys 14 décembre 2022 à 16:52:17

                            • Partager sur Facebook
                            • Partager sur Twitter
                              14 décembre 2022 à 17:58:12

                              naturel ce n'est peut-être pas le meilleur mot, mais la base 10 reste la plus commune
                              • Partager sur Facebook
                              • Partager sur Twitter

                              Conversions d’un nombre en base 10

                              × 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