Codage d'un entier

Introduction

Reprenons certains résultats du tp1:

Python ne travaille pas avec des valeurs exactes mais avec des valeurs approchées au nombre de décimales limité.
On a besoin de comprendre comment sont codés les nombres dans un ordinateur, à commencer par les nombres entiers.

Nous comptons habituellement avec 10 symboles (de 0 à 9), parce que nous avons 10 doigts. Cela n’a historiquement pas toujours été le cas (il existe des systèmes à 12, 20 chiffres ou 60, c’est joli car c’est divisible par 2, 3, 4, 5, et 6, voire plus complexe comme le systeme romain).
L’ordinateur n’a pas de doigts. Il est composé de fils dans lesquels il y a du courant (ou plutôt de la tension) (1) ou pas (0). Il n’a donc à sa disposition que deux symboles 0 et 1. On pourrait imaginer d’utiliser un niveau intermédiaire (pas de courant, un peu de courant , bcp de courant) afin d’utiliser un symbole supplémentaire mais cela rendrait le système trop sensible au "‘bruit"’ ambiant.

Système de numération binaire

Tout nombre entier N peut s’écrire de manière unique sous la forme :