Convertir base 2

Résolu
asdxc -  
yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

C'est un exercice ou il faut que je trouve u moyen pour que intérieur du triangle soit aussi remplis de 1 et non seulement les cotes.

Je pense qu'il faut convertie en binaire signé ( que 0010 devient 1101) puis que l'on rajoute 1 en binaire mai je ne sais pas comment faire.

Voila le code :

def conversion(nb):
t = []
a = nb
i = 0
while (a > 0):
t.append(a%2)
a = a // 2
i = i + 1
while i < 8:
t.append(0)
i = i + 1
return t

def symetrique(nb):
t = conversion(nb)
l = len(t)
for i in range(l):
t.append(t[l - 1 - i])
return t

def affiche(nb):
t = symetrique(nb)
s = ""
for i in range(16):
s = "{}{}".format(s,str(t[15 - i]))
print("{}".format(s))

affiche(128)
affiche(128)
affiche(128)
affiche(64)
affiche(64)
affiche(32)
affiche(32)
affiche(16)
affiche(16)
affiche(8)
affiche(8)
affiche(4)
affiche(4)
affiche(2)
affiche(2)
affiche(255)


PS : désole si met explication ou demande sont mal faite

1 réponse

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour,
    quel est l'énoncé de l'exercice?
    tu nous montres un code qui ne te donne pas ce que tu attends, et tu ne montres pas le résultat que tu attends.
    0
    1. asdxc
       
      Le programme trace un triangle symétrique avec des 1 semblable à ce qui suit:
      0000000110000000
      0000000110000000
      0000000110000000
      0000001001000000
      0000001001000000
      0000010000100000
      0000010000100000
      0000100000010000
      0000100000010000
      0001000000001000
      0001000000001000
      0010000000000100
      0010000000000100
      0100000000000010
      0100000000000010
      1111111111111111
      Le "tracé" se fait avec la fonction affiche(). Elle utilise les fonctions conversion() (faite en classe) et symetrique().
      Le but est de modifier les valeurs dans la fonction affiche() afin d'obtenir un triangle plein en expliquant comment vous faites.
      Ne regardez que la moitié droite du triangle, la partie gauche est donnée par la fonction symetrique()


      Voila l'énoncer
      0