dec2bin.py

Created by pascal-chauvin

Created on June 16, 2019

721 Bytes

Représente un entier naturel sous forme d’une série de bits ou d’octets, suivant le cas.


def binaire(n, formatage=True):
  """ donne une liste de bits exprimant n """
  b = []
  while n > 1:
    b = [n % 2] + b
    n //= 2
  b = [n % 2] + b
  if formatage:
    t = len(b) % 8
    if t != 0:
      b = [0] * (8 - t) + b
    u = "".join([str(c) for c in b])
    v = ""
    for k in range(len(u)//8):
      v += u[(8*k):(8*k+4)] + u[(8*k+4):(8*(k+1))] + '.'
    v = v[:-1]
    return v.split('.')
  return b

print(binaire(24)) # [1, 1, 0, 0, 0] ou "1 1000"

print(binaire(255))

print(binaire(256))
print(binaire(256, False))

print(binaire(4095))

#  print(binaire(65536))

#  print(binaire(65536*256-1))

#  print(binaire(2**32 - 1))

x = int(input("nombre (en base 10) ? "))
print(binaire(x))