Votre ordinateur, oui ! Parce qu’il représente les nombres sous la forme de 0 et de 1. Il utilise un encodage binaire. Nous somme habitués à compter dans le système décimal. C’est-à-dire que la position de chaque chiffre dans un nombre est multiplié par une puissance de 10.
12310=1×102+2×101+3×100
Il en est de même en notation binaire à la différence que la base n'est pas 10 mais 2 !
1010102=1×25+0×24+1×23+0×22+1×21+0×20
1010102=4210
Un chiffre binaire est appelé bit (contraction de binary digit). C’est l’unité de base des systèmes informatiques. En pratique, il est stocké par un dispositif physique qui possède deux états. Par exemple, deux intensités différentes dans un circuit électrique ou deux directions de polarisation magnétique.
Dans beaucoup de cas, la transmission des bits d’un système à un autre se fait en série : un bit est envoyé à la fois. C’est le cas par exemple pour les données envoyées via les câbles USB, SATA, FireWire, etc.
Votre mission consiste à implémenter un algorithme qui transforme un entier positif de sa représentation décimale à sa représentation binaire. Nous allons simuler la communication en série en modélisant un nombre binaire par une file dont le premier élément est le bit de poids fort, c'est-à-dire le bit qui est multiplié par la plus grande puissance de 2 (dans le cas de 4210, les bits envoyés seront donc 1, puis 0, puis 1, puis 0, puis 1, puis 0).
Pour ce faire, utilisez le fait que n%2 vous donne le bit de poids faible de n. Vous pouvez utiliser les TAD file et pile. Pour tester votre implémentation, vous devrez vous-même implémenter les TAD pile et file. Pour votre soumission, les modules Queue et Stack sont importés.