Résumé
I) Les entiers positifs
-
En base 10 nous avons 10 symboles (chiffres) : 0, 1, 2, 3, 4, 5….9.
-
En base 2 (binaire) nous avons 2 symboles (chiffres) : 0 et 1.
-
En base 16 (hexadécimal) nous avons 16 symboles : 0, 1, 2….8, 9, A, B, C, D, E, F.
-
À chaque fois que l’on a utilisé tous les symboles, on doit changer de rang.
-
Il serait judicieux de connaître “par coeur” (ou au moins être capable de les retrouver rapidement) les nombres jusqu’à 15 :
| décimal | binaire | hexadécimal |
|---|---|---|
| 0 | 0 | 0 |
| 1 | 1 | 1 |
| 2 | 10 | 2 |
| 3 | 11 | 3 |
| 4 | 100 | 4 |
| 5 | 101 | 5 |
| 6 | 110 | 6 |
| 7 | 111 | 7 |
| 8 | 1000 | 8 |
| 9 | 1001 | 9 |
| 10 | 1010 | A |
| 11 | 1011 | B |
| 12 | 1100 | C |
| 13 | 1101 | D |
| 14 | 1110 | E |
| 15 | 1111 | F |
- On peut coder valeurs avec bits.
II) Les entiers relatifs
-
Connaître le principe du complément à 2 (voir cours).
-
Savoir que pour une représentation sur n bits, il sera possible de coder des valeurs comprises entre et.
III) Les nombres flottants
-
La représentation en machine des nombres réels (on parle souvent en informatique de nombres flottants) diffère de la représentation en machine des entiers.
-
La norme IEEE 754 est la norme la plus employée pour la représentation des nombres à virgule flottante dans le domaine informatique.
-
Il existe 2 formats associés à la norme IEEE 754 : le format simple précision (le nombre est représenté sur 32 bits) et le format double précision (le nombre est représenté sur 64 bits).
-
Que cela soit en simple précision ou en double précision, la norme IEEE754 utilise :
-
1 bit de signe (1 si le nombre est négatif et 0 si le nombre est positif) ;
-
des bits consacrés à l'exposant (8 bits pour la simple précision et 11 bits pour la double précision) ;
-
des bits consacrés à la mantisse (23 bits pour la simple précision et 52 bits pour la double précision).
-
-
À cause de la limitation de la taille de mantisse on peut dans certains cas avoir des erreurs d’arrondies, par exemple 0.1 + 0.2 n’est pas égal à 0.3. On évitera de tester l’égalité entre 2 flottants (par exemple 0.1 + 0.2 == 0.3 retourne Faux !).
IV) Les caractères de texte
Norme ASCII
- La norme ASCII (American Standard Code for Information Interchange) permet de représenter les caractères. Chaque caractère est associé à un nombre codé sur 8 bits (7 bits pour coder le caractère + 1 bit dit de parité). Avec 7 bits il est donc possible de coder 128 caractères.
Norme ISO-8859-1
- La norme ASCII convient bien à la langue anglaise, mais pose des problèmes dans d'autres langues, par exemple le français. En effet l'ASCII ne prévoit pas d'encoder les lettres accentuées. C'est pour répondre à ce problème qu'est née la norme ISO-8859-1. Cette norme reprend les mêmes principes que l'ASCII, mais les nombres binaires associés à chaque caractère sont codés sur 8 bits, ce qui permet d'encoder jusqu'à 256 caractères Cette norme va être principalement utilisée dans les pays européens puisqu'elle permet d'encoder les caractères utilisés dans les principales langues européennes.
Unicode
-
Le but de la norme Unicode est de pouvoir encoder tous les caractères que l’on peut rencontrer dans le monde. Unicode est uniquement une table qui regroupe tous les caractères existant au monde, il ne s'occupe pas de la façon dont les caractères sont codés dans la machine.
-
Unicode accepte plusieurs systèmes de codage : UTF-8, UTF-16, UTF-32. Le plus utilisé, notamment sur le Web, est UTF-8. Pour encoder les caractères Unicode, UTF-8 utilise un nombre variable d'octets : les caractères "classiques" (les plus couramment utilisés) sont codés sur un octet, alors que des caractères "moins classiques" sont codés sur un nombre d'octets plus important (jusqu'à 4 octets). Il y a compatibilité entre ASCII et UTF-8 puisque les caractères Unicode codés avec UTF-8 ont exactement le même code que les mêmes caractères en ASCII.