Renvoyer le complément à 2 sur une taille donnée

Fermé
Nath01 - Modifié le 6 janv. 2021 à 12:06
yg_be Messages postés 23401 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 décembre 2024 - 6 janv. 2021 à 15:40
Bonjour,

J'ai un exercice ou je dois écrire un code qui renvoie le complément à 2 sur une taille donnée.

Je dois utiliser un tableau et la méthode "join" sauf que je ne la connait pas.

Pour l'instant mon code ressemble à cela mais je ne sais pas comment avancer :

def inversion(bit):
    if bit < 1:
        return bit + 1
    else:
        return bit - 1

nombre = int(input("nombre ? "))

def vers_tableau(nombre):
    liste = (list(bin(nombre)))
    del(liste[0])
    del(liste[0])
    return liste

nbBits = int(input("nombre de bits ? "))

def complementADeux(nombre,nbBits):
    tabResultat = [0] * nbBits
    tabNombre = vers_tableau(nombre)


J'aurais donc besoin d'aide s'il vous plait.

Modération : Pour la mise en forme des sources, au dessus de la zone d'édition de tes messages, il y a des icônes pour l'enrichissement du texte, celle qui a cet aspect
<> ▼
permet d'appliquer au code, suivant une liste de valeurs, le format correspondant à sa nature.
A voir également:

1 réponse

yg_be Messages postés 23401 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 décembre 2024 Ambassadeur 1 557
6 janv. 2021 à 12:15
bonjour,
ton code fonctionne bien?
0
non, je n'obtient pas de résultat, il me manque la fin du code, la partie avec join mais je ne comprend pas comment ni a quoi cela sert.
0
yg_be Messages postés 23401 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 décembre 2024 1 557 > Nath01
6 janv. 2021 à 12:54
es-tu certain d'avoir partagé ton code complet? que fait-il, pour le moment?
je suggère de faire deux choses:
- continuer ton programme en utilisant une autre technique que le join
- étudier le join
0
Nath01 > yg_be Messages postés 23401 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 décembre 2024
6 janv. 2021 à 13:18
Pour le moment il me donne un tableau contenant mon entier converti en binaire.
Ma difficulté est de mettre le bon nombre de 0 au début du tableau pour avoir le nombre de bits souhaité.
0
yg_be Messages postés 23401 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 décembre 2024 1 557 > Nath01
6 janv. 2021 à 13:27
difficile de calculer le bon nombre?
0
Nath01 > yg_be Messages postés 23401 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 décembre 2024
6 janv. 2021 à 13:48
Le nombre de bits est entré par l'utilisateur dans une variable. Ensuite il faut rajouter des 0 au début de la liste
0