PROFIL / INDEX© Clément Depernet / 2026

← Retour à la liste

26 sept. 20241 min de lecture

Cheat sheet — Bits, octets, hexadécimal & manipulation binaire

Représentation des nombres (binaire, hexa, décimal), bits de poids fort/faible (MSB/LSB), masque 0xFF, complément binaire et manipulation d'octets en Python : conversions, parcours, inversion de bits.

intro#binaire#hexadecimal#python#cheatsheet#bas-niveau

Mis à jour le 21 sept. 2026

Bases de numération

Hexa Binaire Décimal
0–9 0000–1001 0–9
A 1010 10
B 1011 11
C 1100 12
D 1101 13
E 1110 14
F 1111 15

Conversions

  • Hexa → binaire : chaque chiffre hexa = 4 bits. 0x3F → 0011 1111.
  • Binaire → hexa : regrouper par 4 depuis la droite. 11011011 → 0xDB.
  • Hexa → décimal : 0x2F = (2 × 16) + 15 = 47.
  • Décimal → hexa : divisions successives par 16. 47 → 0x2F.

Poids fort (MSB) et poids faible (LSB)

  • MSB (Most Significant Bit) : bit le plus à gauche, plus grande valeur.
  • LSB (Least Significant Bit) : bit le plus à droite, plus petite valeur.

Dans 1010 : le MSB vaut 2³ = 8, le LSB vaut 2⁰ = 1. (Le LSB est aussi le bit où l’on cache un message en stéganographie LSB.)

Manipulation d’octets en Python

# Hexadécimal → octet
hex_val = 0x3F
byte_val = hex_val.to_bytes(1, 'big')   # b'?'

# Parcourir des octets
data = b'\x3F\x7A\xAC'
for byte in data:
    print(hex(byte))                    # 0x3f, 0x7a, 0xac

# Inverser les bits d'un octet (complément)
inverted = bytes((~byte) & 0xFF for byte in data)  # b'\xc0\x85\x53'

(~byte) & 0xFF : ~byte inverse tous les bits (NOT), & 0xFF garde les 8 bits de poids faible — le masque 0xFF isole un octet.

Complément binaire

Inverser tous les bits d’un octet. Opération symétrique (l’appliquer deux fois restaure l’original), déterministe donc peu sûre seule.

Caractère ASCII Binaire Complément
A 65 01000001 10111110
B 66 01000010 10111101
def complement(text):
    return "".join(chr((~ord(c)) & 0xFF) for c in text)
SEC / OPS / CD-01

Astro + Tailwind, conteneurisé, servi derrière Caddy · Inspiration · Thème sonore : Severance (Theodore Shapiro) · Trop mignon le favicon, non ?

PRÊT / CD-01