Revenir au plan du site

Vous n'avez pas les bases?


Bien que ces cours s'adressent à des débutants, il va être difficile de lire ces cours si vous n'avez pas un minimum de culture informatique et même de façon plus large, un minimum de culture mathématique.

En assembleur comme dans d'autres langages, il est d'usage d'utiliser régulièrement d'autres bases que la base 10. La base 10, vous savez, le système décimal, enfin... ...la façon dont vous comptez tous les jours!

Dans quels cas utiliser différentes bases numériques? En fait il est plus pratique et lisible de changer de base selon le contexte :
- du binaire quand il s'agit de positionner des bits
- la base 3 pour les couleurs du CPC en Basic
- la base 10 pour les valeurs classiques, telles que des dimensions écran, ...
- la base 16 pour les adresses mémoires, car les quantités de mémoire des ordinateurs sont basées sur la taille du bus d'adresse, qui contient 16 fils pour la définir.

Comment utiliser les bases numériques? Voici un petit tableau qui montre comment compter dans chacune des bases. Pour les bases inférieures à 10, c'est assez simple, il suffit de s'arrêter avant le descripteur de la base :
- Pour la base 2 ou binaire, on peut utiliser 0 et 1
- Pour la base 3 ou 'demi-valeurs' on peut utiliser 0,1 et 2
- Pour la base 10 ou décimal on peut utiliser les chiffres de 0 à 9, vous avez l'habitude
- Pour la base 16 ou hexadécimal, on utilise de 0 à 9 puis on continue avec A,B,C,D,E et F (en majuscules ou minuscules)

Voici les premiers nombres depuis zéro jusqu'à 16, suivis de quelques valeurs 'remarquables'. Les valeurs sont affichées exprès avec un préfixe (voir [chapitre sur les conventions])
Valeur binaireValeur base 3 Valeur décimale Valeur hexadécimale
0x0 000 0 #00
0x1 001 1 #01
0x10 002 2 #02
0x11 010 3 #03
0x100 011 4 #04
0x101 012 5 #05
0x110 020 6 #06
0x111 021 7 #07
0x1000 022 8 #08
0x1001 100 9 #09
0x1010 101 10 #0A
0x1011 102 11 #0B
0x1100 110 12 #0C
0x1101 111 13 #0D
0x1110 112 14 #0E
0x1111 120 15 #0F
0x10000 121 16 #10
0x100000 ... 32 #20
0x1000000 64 #40
0x10000000 Note 128 #80
0x11000000 Il n'ya 192 #C0
0x100000000 pas de 256 #100
0x1000000000 préfixe 512 #200
0x10000000000 pour la 1024 #400
0x100000000000 base 3 2048 #800
0x1000000000000 4096 #1000
0x10000000000000 Aucun 8192 #2000
0x100000000000000 assembleur 16384 #4000
0x1000000000000000 ne l'utilise 32768 #8000
0x1100000000000000 49152 #C000
0x1111111111111111 65535 #FFFF
0x10000000000000000 65536 #10000

Comme le laisse suggérer ce tableau, on voit que le binaire est rapidement illisible dès qu'on dépasse 8 bits. La base 3 n'a AUCUN intérêt dès qu'on dépasse 26.

Cependant, vous pouvez remarquer qu'à chaque fois qu'on ajoute à zéro au début d'un nombre binaire, sa valeur décimale double, car nous sommes en base 2. Voyez ça comme un nombre décimal auquel on ajoute un zéro, sa valeur se décuple (x10) car nous sommes en... ...base 10. Enfin, quand on ajoute un zéro à un nombre hexadécimal, sa valeur se multiplie par 16. #1,#10,#100,#1000,#10000 correspond à 1, 16, 256, 4096 et 65536. Entrainez-vous!

Le décimal et l'hexadécimal excellent dans les grands nombres, vous apprendrez rapidement les valeurs remarquables (apprenez les puissances de 2 aussi)