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.
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 ?
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).
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.
Le Tout est souvent plus grand que la somme de ses parties.
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)
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)
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
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).
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.
naturel ce n'est peut-être pas le meilleur mot, mais la base 10 reste la plus commune
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.
Le Tout est souvent plus grand que la somme de ses parties.
Le Tout est souvent plus grand que la somme de ses parties.
Python c'est bon, mangez-en.
Le Tout est souvent plus grand que la somme de ses parties.
Découverte Python Doc Tkinter Les chaînes de caractères