Représentation des données/Representation des entiers

Representation des Entiers

Comment l'ordinateur stocke-t-il le nombre 42 ? En binaire, avec des 0 et des 1 ! Mais comment representer les nombres negatifs ? C'est la que le complement a deux entre en jeu. Comprendre ces representations est ESSENTIEL pour eviter les bugs lies aux depassements de capacite !

55 min Niveau 3/5 +40 XP

Objectifs

  • Convertir entre binaire, decimal et hexadecimal
  • Comprendre la representation des entiers non signes
  • Maitriser le complement a deux pour les entiers signes
  • Calculer les limites de representation (overflow)

Pieges a eviter

  • !Oublier que le bit de poids fort indique le signe
  • !Confondre nombre de bits et nombre de valeurs
  • !Erreur dans le complement a deux (oublier +1)
  • !Ne pas anticiper les depassements de capacite

Cours complet

En binaire, chaque chiffre (bit) ne peut valoir que 0 ou 1. La valeur depend de la position : puissances de 2 au lieu de puissances de 10.

# Decimal vers Binaire
# 42 en decimal = 32 + 8 + 2 = 2^5 + 2^3 + 2^1
# 42 = 101010 en binaire

# En Python : bin() donne la representation binaire
print(bin(42))     # '0b101010'
print(bin(255))    # '0b11111111'
print(bin(1))      # '0b1'
print(bin(0))      # '0b0'

# Binaire vers Decimal : int() avec base 2
print(int('101010', 2))   # 42
print(int('11111111', 2)) # 255

# Calculer a la main :
# 101010 = 1x32 + 0x16 + 1x8 + 0x4 + 1x2 + 0x1
#        = 32 + 8 + 2 = 42

# Position et poids de chaque bit (de droite a gauche)
# Position : 5    4    3    2    1    0
# Poids :    32   16   8    4    2    1  (puissances de 2)
# Bits :     1    0    1    0    1    0

# Ecrire en binaire en Python
n = 0b101010      # Prefixe 0b pour le binaire
print(n)          # 42

# Afficher avec zeros de remplissage
print(f"{42:08b}")  # '00101010' (8 bits)

Quiz Entiers

5 questions pour valider

Conversions Python

bin(42) → '0b101010'

hex(255) → '0xff'

int('101', 2) → 5

int('ff', 16) → 255

Limites 8 bits

  • • Non signe : 0 a 255
  • • Signe : -128 a 127
  • • Overflow : attention !
EdTech AI Assistant