Binaire relatif en décimal entier relatif

Résolu/Fermé
Lilou - Modifié le 31 oct. 2022 à 12:35
 Lilou - 2 nov. 2022 à 13:35

(Re)Bonjour

Voici donc mon 2ème exercice : 

Consigne :

Compléter la fonction bin_to_dec_relatif permettant de convertir un nombre binaire relatif en nombre décimal entier relatif.

  • le nombre au format binaire sera déclaré par une chaîne de caractères

Voici ce que j'ai fait :

def bin_to_dec_relatif(binaire):
    # on initialise relatif
    relatif=0
    
    # si le 1er bit à gauche est un "0" alors c'est un positif et on utilise la fonction bin_to_dec() définie plus haut.
    if binaire[0]=="0":
        relatif = bin_to_dec(binaire)
    
    # sinon c'est un négatif
    else:
        # on pointe notre index sur le 1er bit à gauche (indice 0)
        i = binaire[0]
        
        # tant que notre index pointe sur le binaire ET qu'il pointe un 1
        while i<... and binaire[i]==1 :
            # relatif est alors égal (en négatif) au poids de ce 1 à sa position en partant de la droite !!!
            relatif = -(2**(...))
            
            # on bouge l'index d'un cran à droite
            i = binaire[1]

        # on a trouvé le dernier 1, on est donc sorti de la boucle "tant que"
        
        # si à ce moment là, notre index n'est pas arrivé à la fin du binaire
        if i<...:
            # on doit ajouter en positif les poids des 1 qui se trouvent à droite du dernier 1
            # on utilise la fonction bin_to_dec() définie plus haut sur cette partie du binaire
            relatif = relatif + bin_to_dec(binaire[... : ...])

    return relatif



# Les lignes ci-dessous testent votre code... n'y touchez pas !
# Si une AssertionError apparaît... c'est que votre code n'est pas bon...
assert bin_to_dec_relatif('1010') == -6
assert bin_to_dec_relatif('1111') == -1
assert bin_to_dec_relatif('0000') == 0
assert bin_to_dec_relatif('0011') == 3

Et voici le programme initial : 

def bin_to_dec_relatif(binaire):
    # on initialise relatif
    relatif=... 
    
    # si le 1er bit à gauche est un "0" alors c'est un positif
    # et on utilise la fonction bin_to_dec() définie plus haut.
    if binaire[0]=="0":
        relatif = bin_to_dec(binaire)
    
    # sinon c'est un négatif
    else:
        # on pointe notre index sur le 1er bit à gauche (indice 0)
        i = ...
        
        # tant que notre index pointe sur le binaire ET qu'il pointe un 1
        while i<... and binaire[i]==... :
            # relatif est alors égal (en négatif) au poids de ce 1 à sa position en partant de la droite !!!
            relatif = -(2**(...))
            
            # on bouge l'index d'un cran à droite
            i = ...

        # on a trouvé le dernier 1, on est donc sorti de la boucle "tant que"
        
        # si à ce moment là, notre index n'est pas arrivé à la fin du binaire
        if i<...:
            # on doit ajouter en positif les poids des 1 qui se trouvent à droite du dernier 1
            # on utilise la fonction bin_to_dec() définie plus haut sur cette partie du binaire
            relatif = relatif + bin_to_dec(binaire[... : ...])

    return relatif



# Les lignes ci-dessous testent votre code... n'y touchez pas !
# Si une AssertionError apparaît... c'est que votre code n'est pas bon...
assert bin_to_dec_relatif('1010') == -6
assert bin_to_dec_relatif('1111') == -1
assert bin_to_dec_relatif('0000') == 0
assert bin_to_dec_relatif('0011') == 3

Je sais que je ne l'ai pas beaucoup complété mais je bloque sur le while je ne vois pas comment pointer avec un <, ni le calcul à faire pour le relatif. Pour le reste du programme j'ai préféré déjà comprendre le début avant de me lancer dedans. 

Merci de votre aide
Windows / Edge 107.0.1418.24

12 réponses

jee pee Messages postés 39684 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 4 mai 2024 9 255
Modifié le 31 oct. 2022 à 13:08

Rebonjour,

Pour moi, i est un indice. Un indice on va l'initialiser au départ à 0, on va l’incrémenter par pas de 1 i=i+1, on va faire une boucle sur la longueur de la chaine len(binaire) et on va utiliser la donnée de la chaine pointée par l'indice binaire[i]

Le programme fait appel à la fonction bin_to_dec(), tu l'as déjà écrite ?  c'est une étape préalable à l'écriture de la fonction bin_to_dec_relatif().


1

Alors j'ai écrit cette fonction dans un exercice auparavant 

def bin_to_dec(binaire):
    decimal=0
    
    inverse=""
    for i in range(len(binaire)-1,-1,-1) :
        inverse = inverse + binaire[i]
    
    for i in range(len(binaire)):
        decimal = decimal + int(inverse[i])*2**(i)
    return decimal



# Les lignes ci-dessous testent votre code... n'y touchez pas !
# Si une AssertionError apparaît... c'est que votre code n'est pas bon...
assert bin_to_dec('1010') == 10
assert bin_to_dec('1111') == 15
assert bin_to_dec('0000') == 0

Et pour l'histoire du i je ne comprends le rapport avec le programme désolé

de ce que j'arrive à comprendre c'est qu'au départ on teste si notre premier bit est égal à 0 on le revoit à l'autre fonction mais que si c'est égal à 1 on vient faire cette fonction mais dans l'exécution de la fonction je suis un peu perdue car je vois comment faire ce changement à la main (binaire vers décimal) mais dans le programme je vois plus du tout.

0
jee pee Messages postés 39684 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 4 mai 2024 9 255
Modifié le 31 oct. 2022 à 13:33

 
bin_to_dec() traitait les binaires positifs, bin_to_dec_relatif() traite les binaires positifs ou négatifs, si il détecte un positif il appelle la 1ère fonction

Concernant i, c'est un indice que l'on va utiliser pour se déplacer dans la chaine binaire. On va lui donner les valeurs 0,1,2 ... jusqu'à la longueur de la chaine, toi tu l'initialises par le contenu de la cahiane i = binaire[0], ce n'est pas correct, i démarre à zéro. i = 0


1

D'accord mais je n'arrive pas à comprendre comment remplir la ligne 15,  comment peut-il pointer vers le binaire avec  i < 

0
jee pee Messages postés 39684 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 4 mai 2024 9 255 > Lilou
31 oct. 2022 à 13:44

tant que i est inférieur à la longueur de la chaine binaire

et tant que la position binaire[i] == "1"

1

 ce qui me donne ça ?

while i<len(binaire) and binaire[i]==1 :

et pour la suite je suis censée faire comment ? désolé de demander mais je suis vraiment perdue

0
jee pee Messages postés 39684 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 4 mai 2024 9 255
Modifié le 31 oct. 2022 à 14:30

oui c'est ça, à une toute petite limite ;-)
 

après c'est la ligne la plus difficile on comprendre, et plus que la programmation elle même, c'est la mécanique du décodage d'un binaire négatif telle que proposée par le programme cadre
 

on va chercher dans la chaine en démarrant par la gauche, le 1 le qui précède un zéro. Alors on calcule la puissance de 2 de la position du dernier 1 et on le passe en négatif
 

et dans un second temps, on va reprendre ce qui reste de la chaine, à partir du zéro le plus à gauche, convertir cette partie de la chaine en un nombre positif et additionner le résultat au nombre négatif calculé plus haut.

0
Lilou > jee pee Messages postés 39684 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 4 mai 2024
Modifié le 31 oct. 2022 à 14:32

d'accord merci beaucoup malheureusement je n'ai plus le temps de travailler dessus aujourd'hui mais je regarde cela demain, je ne sais pas si je pourrais avoir votre aide demain ?

0
PierrotLeFou
31 oct. 2022 à 14:05

Es-tu obligé d'avoir deux fonctions?
Je traiterais d'abord le premier digit qui me permettra d'avoir un "flag" pour pouvoir inverser.
On boucle ensuite  à partir de l'indice 1
        decimal = decimal * 2 + int(binaire[i])
À la fin:
    if inverse == "1":
      decimal = -decimal

0
jee pee Messages postés 39684 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 4 mai 2024 9 255
31 oct. 2022 à 14:11

là le cadre est figé, tu as un cadre de code à compléter, on ne propose pas une autre façon de faire

0

oui je suis obligée d'avoir les deux fonctions je dois remplir le programme et le problème est que je ne le comprends et n'arrive pas à voir comment le remplir

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PierrotLeFou
31 oct. 2022 à 14:22

Alors, on fait pour un nombre négatif:
    relatif = 2**len(binaire) - relatif
C'est le complément à 2

0

d'accord merci beaucoup je regarde cela plus tard

0
PierrotLeFou
1 nov. 2022 à 02:26

J'ai fait l'exercice et j'ai trouvé ça plus compliqué que ma méthode ...
Un indice: compter les bits en partant de la droite plutôt que la gauche pour l'exposant.
Pour le slicing, on va jusqu'à la fin.

0
jee pee Messages postés 39684 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 4 mai 2024 9 255
1 nov. 2022 à 09:54

Je t'accorde que la méthode m'a semblé bizarre. Mais relis la question, Lilou doit respecter le cadre et compléter le code de l'exercice, remplacer les (...). Pas utiliser une solution alternative.

0

En essayant de suivre votre consigne j'arrive à ce résultat :

def bin_to_dec_relatif(binaire):
    # on initialise relatif
    relatif=0
    
    # si le 1er bit à gauche est un "0" alors c'est un positif et on utilise la fonction bin_to_dec() définie plus haut.
    if binaire[0]=="0":
        relatif = bin_to_dec(binaire)
    
    # sinon c'est un négatif
    else:
        # on pointe notre index sur le 1er bit à gauche (indice 0)
        i = 0
        
        # tant que notre index pointe sur le binaire ET qu'il pointe un 1
        while i<len(binaire) and binaire[i]==1 :
            # relatif est alors égal (en négatif) au poids de ce 1 à sa position en partant de la droite !!!
            relatif = -(2**(i))
            
            # on bouge l'index d'un cran à droite
            i = 1

        # on a trouvé le dernier 1, on est donc sorti de la boucle "tant que"
        
        # si à ce moment là, notre index n'est pas arrivé à la fin du binaire
        if i<len(binaire):
            # on doit ajouter en positif les poids des 1 qui se trouvent à droite du dernier 1
            # on utilise la fonction bin_to_dec() définie plus haut sur cette partie du binaire
            relatif = relatif + bin_to_dec(binaire[i:len(binaire)])

    return relatif



# Les lignes ci-dessous testent votre code... n'y touchez pas !
# Si une AssertionError apparaît... c'est que votre code n'est pas bon...
assert bin_to_dec_relatif('1010') == -6
assert bin_to_dec_relatif('1111') == -1
assert bin_to_dec_relatif('0000') == 0
assert bin_to_dec_relatif('0011') == 3

J'ai le message d'erreur donc je me suis trompée mais j'ai déjà une idée d'une erreur c'est quand on me demande de compter à partir de la droite, je n'ai aucune idée de comment faire. Si vous voyez d'autres erreurs, n'hésitez pas à me dire.

Merci beaucoup

0
jee pee Messages postés 39684 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 4 mai 2024 9 255
Modifié le 1 nov. 2022 à 13:20

Je vois 3 soucis,

  • ligne 15, je t'avais signalé plus haut que ce n'était pas parfait
  • ligne 20, tu vas toujours traiter la position 1 ! un indice on l'incrémente, pour traiter la position suivante.
  • ligne 17, on veut récupérer la puissance de 2 par rapport à la valeur de i combiné à sa position en partant de la droite. Quand i vaut 0, on veut 3, pour 2**3 => 8, ....., quand i vaut 3, on veut 0, pour 2**0 => 1. il faut donc combiner la longueur de la chaine binaire et la valeur de i
0
Lilou > jee pee Messages postés 39684 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 4 mai 2024
1 nov. 2022 à 13:33

Pour la ligne 15, je ne vois pas du tout ce qui n'est pas juste.

Pour la ligne 20, je n'ai jamais vu l'incrémentation mais en regardant sur internet j'ai trouvé ceci : 

i =+ 1

Pour la ligne 17, j'ai tenté de faire cela : 

relatif = -(2**(i*len(binaire)))
0
jee pee Messages postés 39684 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 4 mai 2024 9 255 > Lilou
Modifié le 1 nov. 2022 à 14:26
  • ligne 15 : 1, n'est dans le cas présent pas un nombre mais une chaine de caractère
  • ligne 20, l'incrémentation c'est i = i +1  il existe une syntaxe abrégée i += 1
  • ligne 17, il te faut continuer à chercher, affiche la valeur que tu trouves pour l'exposant, et regarde les exemples que j'ai donné plus haut
0
Lilou > jee pee Messages postés 39684 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 4 mai 2024
Modifié le 1 nov. 2022 à 14:40

merci beaucoup mais je n'arrive pas à comprendre ce que vous dites en parlant de quand i vaut 0, on veut 3 je ne vois comment on arrive à trouver ceci, le seul truc que je pense comprendre c'est que en fonction de la position du chiffre on viendra le multiplier par 2 puissance et la position en partant de la gauche mais sinon je ne comprends pas le reste.

J'ai changé la ligne 17 et maintenant j'ai ce message d'erreur qui s'affiche : 

def bin_to_dec_relatif(binaire):
    # on initialise relatif
    relatif=0
    
    # si le 1er bit à gauche est un "0" alors c'est un positif et on utilise la fonction bin_to_dec() définie plus haut.
    if binaire[0]=="0":
        relatif = bin_to_dec(binaire)
    
    # sinon c'est un négatif
    else:
        # on pointe notre index sur le 1er bit à gauche (indice 0)
        i = 0
        
        # tant que notre index pointe sur le binaire ET qu'il pointe un 1
        while i<len(binaire) and binaire[i]=="1" :
            # relatif est alors égal (en négatif) au poids de ce 1 à sa position en partant de la droite !!!
            relatif = -(2**(i*(len(binaire)-1))
            
            # on bouge l'index d'un cran à droite
            i = i+1

        # on a trouvé le dernier 1, on est donc sorti de la boucle "tant que"
        
        # si à ce moment là, notre index n'est pas arrivé à la fin du binaire
        if i<len(binaire):
            # on doit ajouter en positif les poids des 1 qui se trouvent à droite du dernier 1
            # on utilise la fonction bin_to_dec() définie plus haut sur cette partie du binaire
            relatif = relatif + bin_to_dec(binaire[i:len(binaire)])

    return relatif



# Les lignes ci-dessous testent votre code... n'y touchez pas !
# Si une AssertionError apparaît... c'est que votre code n'est pas bon...
assert bin_to_dec_relatif('1010') == -6
assert bin_to_dec_relatif('1111') == -1
assert bin_to_dec_relatif('0000') == 0
assert bin_to_dec_relatif('0011') == 3
  File "<input>", line 20
    i = i+1
    ^
SyntaxError: invalid syntax
0
PierrotLeFou
1 nov. 2022 à 13:19

En y regardant de plus près, sa méthode est la même que la mienne. Il fait le complément à 2 et l'inversion dans la même étape. Mais c'est un peu tordu.

0
PierrotLeFou
1 nov. 2022 à 14:27

Ligne 15, on parle de caractères et non de nombres ...
On fait comment pour incrémenter?

0

Ce qui me donne cela pour la ligne 15 et 20 ?

def bin_to_dec_relatif(binaire):
    # on initialise relatif
    relatif=0
    
    # si le 1er bit à gauche est un "0" alors c'est un positif et on utilise la fonction bin_to_dec() définie plus haut.
    if binaire[0]=="0":
        relatif = bin_to_dec(binaire)
    
    # sinon c'est un négatif
    else:
        # on pointe notre index sur le 1er bit à gauche (indice 0)
        i = 0
        
        # tant que notre index pointe sur le binaire ET qu'il pointe un 1
        while i<len(binaire) and binaire[i]=="1" :
            # relatif est alors égal (en négatif) au poids de ce 1 à sa position en partant de la droite !!!
            relatif = -(2**(i*len(binaire)))
            
            # on bouge l'index d'un cran à droite
            i += 1

        # on a trouvé le dernier 1, on est donc sorti de la boucle "tant que"
        
        # si à ce moment là, notre index n'est pas arrivé à la fin du binaire
        if i<len(binaire):
            # on doit ajouter en positif les poids des 1 qui se trouvent à droite du dernier 1
            # on utilise la fonction bin_to_dec() définie plus haut sur cette partie du binaire
            relatif = relatif + bin_to_dec(binaire[i:len(binaire)])

    return relatif



# Les lignes ci-dessous testent votre code... n'y touchez pas !
# Si une AssertionError apparaît... c'est que votre code n'est pas bon...
assert bin_to_dec_relatif('1010') == -6
assert bin_to_dec_relatif('1111') == -1
assert bin_to_dec_relatif('0000') == 0
assert bin_to_dec_relatif('0011') == 3

Pour la ligne 17 je ne comprends toujours pas ce qu'il faut faire.

0
jee pee Messages postés 39684 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 4 mai 2024 9 255 > Lilou
1 nov. 2022 à 14:51

15 et 20 ce devrait être correct
 

tu as 2 valeurs i qui varie de 0 à 3 et len(binaire) qui vaut 4

quand i=0 il faut une formule avec len(binaire) pour trouver 3

quand i=1 cela doit donner 2

quand i=2 cela doit donner 1

quand i=3 cela doit donner 0

0
Lilou > jee pee Messages postés 39684 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 4 mai 2024
1 nov. 2022 à 15:10

j'avais pensé à len(binaire)(i-+1)

mais ce ne fonctionne pas après essai

i=0 --> 4-0+1=3

i=1 --> 4-1+1=4

i=2 --> 4-2+1=3

i=3 --> 4-3+1=0

en faisant avec len(binaire)(-i-1)

i=0 --> 4-0-1=3

i=1 --> 4-1-1=2

i=2 --> 4-2-1=1

i=3 --> 4-3-1=0

mais quand je mets ceci dans mon programme j'ai une erreur 

def bin_to_dec_relatif(binaire):
    # on initialise relatif
    relatif=0
    
    # si le 1er bit à gauche est un "0" alors c'est un positif et on utilise la fonction bin_to_dec() définie plus haut.
    if binaire[0]=="0":
        relatif = bin_to_dec(binaire)
    
    # sinon c'est un négatif
    else:
        # on pointe notre index sur le 1er bit à gauche (indice 0)
        i = 0
        
        # tant que notre index pointe sur le binaire ET qu'il pointe un 1
        while i<len(binaire) and binaire[i]=="1" :
            # relatif est alors égal (en négatif) au poids de ce 1 à sa position en partant de la droite !!!
            relatif = -(2**(i*(len(binaire)(-i-1))))
            
            # on bouge l'index d'un cran à droite
            i += 1

        # on a trouvé le dernier 1, on est donc sorti de la boucle "tant que"
        
        # si à ce moment là, notre index n'est pas arrivé à la fin du binaire
        if i<len(binaire):
            # on doit ajouter en positif les poids des 1 qui se trouvent à droite du dernier 1
            # on utilise la fonction bin_to_dec() définie plus haut sur cette partie du binaire
            relatif = relatif + bin_to_dec(binaire[i:len(binaire)])

    return relatif



# Les lignes ci-dessous testent votre code... n'y touchez pas !
# Si une AssertionError apparaît... c'est que votre code n'est pas bon...
assert bin_to_dec_relatif('1010') == -6
assert bin_to_dec_relatif('1111') == -1
assert bin_to_dec_relatif('0000') == 0
assert bin_to_dec_relatif('0011') == 3
Traceback (most recent call last):
  File "<input>", line 36, in <module>
  File "<input>", line 17, in bin_to_dec_relatif
TypeError: 'int' object is not callable
0
jee pee Messages postés 39684 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 4 mai 2024 9 255 > Lilou
1 nov. 2022 à 15:15

len(binaire)(-i-1) est une syntaxe incorrecte, c'est tout simplement len(binaire)-i-1

0
Lilou > jee pee Messages postés 39684 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 4 mai 2024
1 nov. 2022 à 15:17

j'ai changé cela mais j'ai encore le message d'erreur, il reste encore quelque chose de faux dans mon programme ?

def bin_to_dec_relatif(binaire):
    # on initialise relatif
    relatif=0
    
    # si le 1er bit à gauche est un "0" alors c'est un positif et on utilise la fonction bin_to_dec() définie plus haut.
    if binaire[0]=="0":
        relatif = bin_to_dec(binaire)
    
    # sinon c'est un négatif
    else:
        # on pointe notre index sur le 1er bit à gauche (indice 0)
        i = 0
        
        # tant que notre index pointe sur le binaire ET qu'il pointe un 1
        while i<len(binaire) and binaire[i]=="1" :
            # relatif est alors égal (en négatif) au poids de ce 1 à sa position en partant de la droite !!!
            relatif = -(2**(i*(len(binaire)-i-1)))
            
            # on bouge l'index d'un cran à droite
            i += 1

        # on a trouvé le dernier 1, on est donc sorti de la boucle "tant que"
        
        # si à ce moment là, notre index n'est pas arrivé à la fin du binaire
        if i<len(binaire):
            # on doit ajouter en positif les poids des 1 qui se trouvent à droite du dernier 1
            # on utilise la fonction bin_to_dec() définie plus haut sur cette partie du binaire
            relatif = relatif + bin_to_dec(binaire[i:len(binaire)])

    return relatif



# Les lignes ci-dessous testent votre code... n'y touchez pas !
# Si une AssertionError apparaît... c'est que votre code n'est pas bon...
assert bin_to_dec_relatif('1010') == -6
assert bin_to_dec_relatif('1111') == -1
assert bin_to_dec_relatif('0000') == 0
assert bin_to_dec_relatif('0011') == 3
0

j'ai encore un autre exercice à faire où comme celui-là je bloque mais avez-vous encore la patience de m'aider ?

0
jee pee Messages postés 39684 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 4 mai 2024 9 255
Modifié le 1 nov. 2022 à 15:57

Il y a de grandes chances que tu ne serais pas arrivée au bout de l'exercice seule.
 

Il te faut travailler les indices, tu n'as manifestement pas la bonne vision de comment cela fonctionne, et de ce qui se passe. Coder quelque chose, ce n'est pas d'abord écrire le code, c'est avant être capable d'exposer ce qu'il va faire. Là il fallait définir comment effectuer l'opération de décodage binaire vers décimal à la main, après seulement on écrit le code. Je suis toujours surpris dans les sources transmis dans les demandes, de ne jamais voir d'affichage de valeurs en cours de route, de debug. Quand j'ai un soucis sur un code, je vais afficher les valeurs des différentes variables et calculs, parfois après chaque ligne de code importante.
 

Nous pouvons continuer à t'aider, en te donnant des indications, mais il serait bien que tu écrives la plus grande partie du code.

0
Lilou > jee pee Messages postés 39684 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 4 mai 2024
1 nov. 2022 à 16:00

D'accord merci beaucoup, je prendrai le temps aujourd'hui tranquillement de retravailler mon 3ème programme et je vous recontacte demain en ayant fait mon maximum, si cela vous convient.

Et pour l'histoire d'affichage des valeurs je n'ai pas vraiment l'habitude de travailler sur des fonctions ni sur le site où je dois faire ma programmation, j'ai essayé auparavant de repasser mon code sur Spyder (logiciel que j'utilise en temps normal en cours) mais je n'arrivai plus à afficher les valeurs.  

0
PierrotLeFou
1 nov. 2022 à 17:08

Pourquoi multiplier par  i ?

0

j'avais oublié de l'enlever quand j'ai rajouté len(binaire)-i-1

0
PierrotLeFou
2 nov. 2022 à 13:31

Et ça donne quoi maintenant?

0

Le site où je codais est en maintenance mais en tout cas hier le programme fonctionnait, et à cause de cette maintenance je ne peux pas travailler un autre exercice que j'aurai voulu faire aujourd'hui. Mais merci beaucoup de votre aide. 

0