Aller au contenu

Aide-mémoire – Réels, arrondis et calcul en binaire

BTS SIO SISR 1re année – Mathématiques pour l'informatique – S02

Un mot ou un sigle inconnu ? Passe la souris dessus, ou ouvre le glossaire.

Partie fractionnaire

\[ (a_k \dots a_0 , a_{-1} \dots a_{-m})_2 = \sum_{i=-m}^{k} a_i\, 2^i . \]
Je veux… Méthode
Fraction binaire → décimal Somme des \(a_i \times 2^{i}\) (poids \(\frac12, \frac14, \frac18, \dots\))
Partie fractionnaire décimal → binaire × 2 répété ; chiffres = parties entières, lus de haut en bas
Fini en binaire ? Fraction irréductible \(\frac{k}{2^m}\)

Erreur avec p chiffres binaires après la virgule

Méthode Erreur
Troncature \(< 2^{-p}\)
Arrondi \(\le 2^{-(p+1)}\)

Opérations binaires

Opération Règle
\(1 + 1\) \(10\) : on pose 0, retenue 1
\(1 + 1 + 1\) \(11\)
\(\times\, 2^k\) Décaler de \(k\) rangs à gauche (x << k)
\(\div\, 2^k\) Quotient = x >> k ; reste = x & (2**k - 1)
Sur \(n\) bits Résultat modulo \(2^n\) ; débordement si la somme est \(> 2^n - 1\)

Unités

Décimal (SI) Binaire (CEI)
1 ko = \(10^3\) o 1 Kio = \(2^{10}\) o = 1 024 o
1 Mo = \(10^6\) o 1 Mio = \(2^{20}\) o
1 Go = \(10^9\) o 1 Gio = \(2^{30}\) o
1 To = \(10^{12}\) o 1 Tio = \(2^{40}\) o
  • 1 octet = 8 bits ; débit en bit/s ; durée \(= \dfrac{\text{octets} \times 8}{\text{débit en bit/s}}\).

Python

0.1 + 0.2 == 0.3          # False : ne pas comparer des float avec ==
abs(a - b) < 1e-9         # comparaison à une tolérance
from fractions import Fraction   # calcul exact
x << 3                    # x * 8
x >> 2                    # x // 4