13 chapitres3 h 23 minDébutant
Mathématiques — Arithmétique
Cours d'arithmétique du BTS SIO (E3) : binaire, hexadécimal, arrondi, PGCD, congruences, inverse modulo 26, chiffrement affine et exercices corrigés.
Par Josselyn C., prof de BTS SIO. Mis à jour le .
L'essentiel
L'arithmétique, c'est le calcul sur les nombres entiers : comment les écrire dans une base (10, 2 ou 16), comment les diviser, les décomposer en nombres premiers et calculer « modulo n ». En informatique, tu t'en sers sans cesse : une adresse IP s'écrit en binaire, une couleur ou une adresse MAC en hexadécimal, un nombre à virgule est arrondi par le processeur, et le chiffrement repose sur les congruences. C'est un module du programme de l'épreuve E3 « Mathématiques pour l'informatique » du BTS SIO, commun aux options SLAM et SISR.
À la fin de ce cours, tu sauras :
- écrire un nombre en base 10, 2 et 16, et passer d'une base à l'autre, y compris pour un nombre à virgule ;
- arrondir en base 10 et en base 2, et expliquer pourquoi un ordinateur calcule mal 0,1 + 0,2 ;
- additionner à la main en binaire et en hexadécimal, multiplier et diviser par une puissance de 2 ;
- effectuer une division euclidienne, décomposer un entier en facteurs premiers et lister ses diviseurs ;
- calculer un PGCD avec l'algorithme d'Euclide ;
- mener un calcul de congruence modulo n et trouver un inverse modulaire ;
- coder et décoder un message avec le chiffrement de César ou le chiffrement affine ;
- programmer ces méthodes en Python et traiter un exercice d'arithmétique de l'E3.
Ce que dit le programme. Le module « Arithmétique » du programme de mathématiques des BTS (arrêté du 4 juin 2013, publié au Bulletin officiel n° 27 du 4 juillet 2013), repris par le référentiel du BTS SIO, a deux parties. Les systèmes de numération : bases 10, 2 et 16 des entiers et des réels, conversions, arrondi et précision, additions en bases 2 et 16, multiplications et divisions par une puissance de deux (chapitres 1 à 4). L'arithmétique modulaire : division euclidienne, nombres premiers, décomposition en facteurs premiers, PGCD, congruences et la propriété « modulo n, les multiples de a sont les multiples de PGCD(a, n) » (chapitres 5 à 10). Le programme précise qu'on reste sur des présentations concrètes, sans excès de technicité. Ce qui dépasse le programme (complément à deux, octal, virgule flottante en détail, PPCM, RSA) est signalé comme complément.
Prérequis. Aucun, à part le calcul de collège : les quatre opérations, les puissances et les fractions. Le chapitre 11 suppose les bases de Python vues dans le cours d'algorithmique, des variables aux fonctions.
Les notations. Quand la base n'est pas évidente, ce cours l'écrit en indice : (1011)₂ est un nombre binaire, (2F)₁₆ un nombre hexadécimal, (47)₁₀ un nombre décimal. En Python et dans la plupart des langages, on écrit 0b1011 et 0x2F. Les nombres à virgule s'écrivent avec une virgule dans le texte (5,375) et avec un point dans le code (5.375).
Comment travailler. Fais chaque exemple au brouillon avant de lire la suite : en arithmétique, on apprend en calculant. Chaque chapitre se termine par des exercices dont la réponse est masquée ; cherche d'abord, ouvre ensuite. Pour vérifier un calcul, une ligne de Python suffit souvent (bin(156), 2026 % 7, math.gcd(84, 126)) : le chapitre 11 te montre comment.
| Ton objectif | Chapitres à travailler en priorité |
|---|---|
| Découvrir le binaire et l'hexadécimal | 1, 2 et 4 |
| Comprendre les adresses IP et les masques | 1, 2 et 4, puis le cours réseaux |
| Réussir les questions de numération de l'E3 | 1 à 4, puis 12 |
| Réussir les questions de congruences et de chiffrement | 5, 7, 8, 9 et 10, puis 12 |
| Préparer la situation d'algorithmique (CCF) | 6, 7, 9 et 11 |
| Réviser la veille de l'épreuve | 12 et 13 |
Sommaire
Arithmétique
0 chapitre sur 13
- Chapitre 1 : Bases de numération : décimal, binaire, hexadécimal15 min
- Chapitre 2 : Conversions entre décimal, binaire et hexadécimal14 min
- Chapitre 3 : Nombres à virgule en binaire : arrondi, précision, flottants16 min
- Chapitre 4 : Addition binaire et hexadécimale, décalages16 min
- Chapitre 5 : Division euclidienne, diviseurs et multiples13 min
- Chapitre 6 : Nombres premiers et décomposition en facteurs premiers14 min
- Chapitre 7 : PGCD et algorithme d'Euclide12 min
- Chapitre 8 : Congruences modulo n : définition et calculs16 min
- Chapitre 9 : Multiples modulo n, liste circulaire et inverse modulaire17 min
- Chapitre 10 : Chiffrement de César et chiffrement affine17 min
- Chapitre 11 : Algorithmes d'arithmétique en Python22 min
- Chapitre 12 : Exercices corrigés d'arithmétique type E321 min
- Chapitre 13 : Aide-mémoire d'arithmétique8 min
Questions fréquentes
Comment convertir un nombre décimal en binaire ?
Divise le nombre par 2, note le reste (0 ou 1), puis recommence avec le quotient jusqu'à obtenir un quotient nul ; l'écriture binaire est la suite des restes lue de bas en haut. Par exemple, 156 donne les restes 0, 0, 1, 1, 1, 0, 0, 1, soit (10011100)₂. Pour un petit nombre, tu peux aussi retirer les plus grandes puissances de 2 possibles : 156 = 128 + 16 + 8 + 4 (les deux méthodes en détail).
Comment convertir du binaire en hexadécimal ?
Découpe le nombre binaire en paquets de 4 bits en partant de la droite, complète le paquet de gauche avec des 0, puis remplace chaque paquet par son chiffre hexadécimal (de 0000 = 0 à 1111 = F). (1011101011)₂ devient 0010 1110 1011, soit (2EB)₁₆. Ça marche parce que 16 = 2⁴ : un chiffre hexadécimal correspond toujours à exactement 4 bits (paquets de 4 bits).
Pourquoi utilise-t-on l'hexadécimal en informatique ?
Parce que c'est une écriture compacte du binaire : un chiffre hexadécimal remplace 4 bits, et un octet s'écrit toujours avec 2 chiffres, de 00 à FF. Les adresses MAC, les adresses IPv6, les couleurs CSS (#1E90FF), les empreintes de hachage et les adresses mémoire s'écrivent donc en hexadécimal. La conversion avec le binaire se fait de tête, ce qui n'est pas le cas avec le décimal (pourquoi le binaire et l'hexadécimal).
Comment convertir un nombre à virgule en binaire ?
Convertis la partie entière par divisions successives, puis la partie fractionnaire par multiplications successives par 2 : à chaque étape, la partie entière du produit (0 ou 1) donne le bit suivant après la virgule, et on continue avec la partie fractionnaire. 0,8125 donne 1,625, 1,25, 0,5 et 1, soit (0,1101)₂. Certains nombres comme 0,1 ont une écriture binaire infinie : on s'arrête alors au nombre de bits demandé et on arrondit (multiplications successives).
Pourquoi 0,1 + 0,2 ne fait pas 0,3 en informatique ?
0,1 et 0,2 ont une écriture binaire infinie, comme 1/3 en base 10. L'ordinateur les stocke au format IEEE 754 sur un nombre fini de bits, donc arrondis, et la somme de ces deux valeurs approchées vaut 0,30000000000000004 en Python, en JavaScript comme en C. On ne compare donc jamais deux flottants avec ==, et on stocke les montants d'argent en centimes ou dans un type décimal exact (les nombres à virgule dans un ordinateur).
Comment calculer le PGCD avec l'algorithme d'Euclide ?
Fais la division euclidienne du plus grand nombre par le plus petit, puis remplace le couple (a, b) par (b, reste), et recommence jusqu'à obtenir un reste nul : le PGCD est le dernier reste non nul. Pour 4 410 et 1 188, les restes successifs sont 846, 342, 162, 18 et 0, donc PGCD(4 410, 1 188) = 18. La méthode repose sur la propriété PGCD(a, b) = PGCD(b, r) (l'algorithme d'Euclide).
C'est quoi une congruence modulo n ?
Deux entiers a et b sont congrus modulo n, noté a ≡ b [n], quand leur différence est un multiple de n, autrement dit quand ils ont le même reste dans la division par n. Par exemple 38 ≡ 3 [7], car 38 − 3 = 35 = 7 × 5. C'est le calcul de l'horloge (15 h ≡ 3 h modulo 12) ; il est compatible avec l'addition et la multiplication, mais pas avec la division (congruences modulo n).
Comment trouver l'inverse modulo 26 ?
L'inverse de a modulo 26 est le nombre a' tel que a × a' ≡ 1 [26] ; il existe seulement si PGCD(a, 26) = 1. Pour le trouver, cherche parmi 27, 53, 79, 105, 131… (les nombres 26k + 1) le premier qui est un multiple de a : pour a = 7, c'est 105 = 7 × 15, donc l'inverse est 15. Pour de grands nombres, on utilise l'algorithme d'Euclide étendu, ou pow(a, -1, 26) en Python (calculer un inverse modulaire).
Comment fonctionne le chiffrement affine ?
Chaque lettre de rang x (A = 0, …, Z = 25) est remplacée par la lettre de rang y ≡ ax + b [26], où (a, b) est la clé. a doit être premier avec 26 pour que deux lettres différentes n'aient jamais la même image ; il y a ainsi 312 clés. Pour déchiffrer, on multiplie par l'inverse a' de a : x ≡ a'(y − b) [26]. Le chiffrement de César est le cas a = 1 (chiffrement affine pas à pas).
Quelle arithmétique tombe à l'E3 du BTS SIO ?
Le module « Arithmétique » de l'épreuve E3 « Mathématiques pour l'informatique » porte sur la numération en bases 10, 2 et 16 des entiers et des réels (conversions, arrondis, additions), et sur l'arithmétique modulaire : division euclidienne, nombres premiers, PGCD, congruences. Le sujet de la session 2026, par exemple, posait des conversions en QCM et un exercice de codage affine avec des algorithmes à compléter. Il peut tomber à l'écrit de 55 minutes du CCF comme à l'écrit ponctuel de 2 heures (exercices type E3 corrigés).