Nous représentons les valeurs entières dans le système décimal, on dit aussi en base 10. Nous utilisons les dix chiffres de 0 à 9. Par exemple, 542 est compris comme
L'information numérique, qu'il s'agisse de valeurs entière nombres, de textes, d'images, ou de sons est représentée par des suites de 0 et de 1. On parle de bit : un bit (BInary digiT : chiffre binaire) ) peut prendre deux valeurs, 0 ou 1.
Donnez les valeurs entières représentées par 0b0100, 0b10101, 0b101 et 0b11111.
Quel est le plus grand entier que l'on puisse obtenir avec un octet ?
Quel est le plus grand entier que l'on puisse obtenir avec deux octets ?
C'est assez long puisqu'il faut faire des divisions successives par 2
Mais une méthode plus simple consiste à écrire les puissances de 2 successives jusqu'à dépasser la valeur à convertir.
Commencer alors par le bit de poids le plus fort (à gauche). Peut-on le soustraire ? Si oui, activer le bit et continuez de la même manière avec le reste.
Les bits cochés correspondent à des 1, les non cochés à des zéros
Le tableau ci-dessous permet de faire la conversion décimal vers binaire d'un octet.
27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | Valeur décimale |
---|---|---|---|---|---|---|---|---|
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | |
0 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 108 |
Quelle est la représentation binaire de 123 ?
Quelle est la représentation binaire de 65 ?
Quelle est la représentation binaire de 2048 ?
Quelle est la représentation binaire de 2019 ?
QUIZZ NON FAIT !
Avant 1960 de nombreux systèmes de codage de caractères existaient, ils étaient souvent incompatibles entre eux. En 1960, l'organisation internationale de normalisation (ISO) décide de mettre un peu d'ordre dans ce bazar en créant la norme ASCII (American Standard Code for Information Interchange). À chaque caractère est associé un nombre binaire sur 8 bits (1 octet). En faite, seuls 7 bits sont utilisés pour coder un caractère, le 8e bit n'est pas utilisé pour le codage des caractères. Avec 7 bits il est possible de coder jusqu'à 128 caractères ce qui est largement suffisant pour un texte écrit en langue anglaise (pas d'accents et autres lettres particulières).
Comme vous pouvez le constater dans le tableau ci-dessus, au "A" majuscule correspond le code binaire (1000001)2 ((65)10 ou (41)16)
Quel est le code binaire du "a" minuscule en ASCII?
Repérer les différence entre les codes sources.
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 (la norme ISO-8859-1 est aussi appelée "latin1" car elle permet d'encoder les caractères de l'alphabet dit "latin")
Problème, il existe beaucoup d'autres langues dans le monde qui n'utilisent pas l'alphabet dit "latin", par exemple le chinois ou le japonnais ! D'autres normes ont donc dû voir le jour, par exemple la norme "GB2312" pour le chinois simplifié ou encore la norme "JIS_X_0208" pour le japonais.
Cette multiplication des normes a très rapidement posé problème. Imaginons un français qui parle le japonais. Son traitement de texte est configuré pour reconnaitre les caractères de l'alphabet "latin" (norme ISO-8859-1). Un ami japonais lui envoie un fichier texte écrit en japonais. Le français devra modifier la configuration de son traitement afin que ce dernier puisse afficher correctement l'alphabet japonais. S'il n'effectue pas ce changement de configuration, il verra s'afficher des caractères ésotériques.
Pour éviter ce genre de problème, en 1991 une nouvelle norme a vu le jour : Unicode
Unicode a pour ambition de rassembler tous les caractères existant afin qu'une personne utilisant Unicode puisse, sans changer la configuration de son traitement de texte, à la fois lire des textes en français ou en japonais
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). Un des avantages d'UTF-8 c'est qu'il est totalement compatible avec la norme ASCII : Les caractères Unicode codés avec UTF-8 ont exactement le même code que les mêmes caractères en ASCII.
for i in range(64,127): print(chr(i))
for i in range(15000,16000): print(chr(i))
Exemple : (3F7A)16=3 x 163 + 15 x 162 + 7 x 161 + 10 x 160 = 15 x 256 + 7 x 16 + 10 x 1 = 16250
4516=4 x 161+5=69
A416=10 x 161+4=164
Base 16 : héxadécimale | Base 10 : décimale | Base 2 : binaire |
---|---|---|
0 | 0 | 0000 |
1 | 1 | 0001 |
2 | 2 | 0010 |
3 | 3 | |
4 | 4 | |
5 | 5 | |
6 | 6 | |
7 | 7 | |
8 | 8 | |
9 | 9 | |
A | 10 | |
B | 11 | |
C | 12 | |
D | 13 | |
E | 14 | |
F | 15 |
1- Convertir en décimale puis en binaire.
AB16 =
FF16 =
2- Convertir 111100112 en héxadécimale.
3- Proposer une méthode pour passer plus directement de l'hexadécimale en binaire.
Base 10 : décimale | Base 2 : binaire | Base 16 : hexadécimale |
---|---|---|
12 | ||
12 | ||
10010110 | ||
FADE |
QUIZZ NON FAIT
<body style="background-color:black;"> <p style="color:red;"> Un paragraphe en rouge</p> <p style="color:rgb(255,0,255);"> Un paragraphe en violet</p> <p style="color:#0000FF;"> Un paragraphe en bleu</p> </body>
Cliquer ici pour voir le rendu du fichier html ci-dessus.
1 octet = 8 bits
Une composante est codée avec 1 octet, en déduire la valeur maximale d'une composante. (On donnera une réponse en décimale et en hexadecimale)
Quelle est la couleur de rgb(255,255,0) ? Vérifier
Quelle est la couleur de #00FFFF ? Vérifier
Quelle est la couleur de #FFFFFF ? Vérifier
Ecrire les couleurs du drapeau français en notation décimale. Vérifier
Combien de couleur peut-on avoir avec le système RGB ?
Changer la couleur de fond (backgroud) de cette page. ( Aide )