IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Voir le flux RSS

Pierre Fauconnier

A = 65, a = 97, ou la folle histoire des bits...

Note : 3 votes pour une moyenne de 5,00.
par , 01/10/2021 à 09h00 (1696 Affichages)
Salut.

Vous saviez peut-être que A "vaut" 65, pour un ordinateur. Peut-être même saviez-vous que a "vaut" 97, pour un ordinateur... Et ces valeurs sont +/- universelles. Autrement dit, tous les ordinateurs sont censés dire A lorsque qu'ils reçoivent la valeur 65 et a lorsqu'ils reçoivent la valeur 97... Si ce n'est pas le cas, on les envoie chez le docteur qui leur fera dire AAAAAA (Hum, je m'égare)


Si tous les ordinateurs savent que A = 65 et a = 97, c'est parce qu'il a fallu normaliser, et comme les américains sont à l'origine des ordinateurs (pour faire simple), l'informatique a adopté une norme américaine, ASCII (American Standard Code for Information Interchange) qui reprend 128 caractères (de 0 à 127), soit les 7 bits de poids faible d'un octet1. Cette table ASCII ne comprenant pas les caractères diacritiques (accents et autres spécificités telles que cédille, tréma, ...), une norme ASCII étendu est apparue pour utiliser le 8ième bit et passer à 256 caractères.

Mais si A = 65 et a = 97, on peut dire que A + 32 = a. B vaut 66 et b vaut 98, donc B + 32 = b, ..., Z vaut 90 et z vaut 122. Mais pourquoi majuscule +32 = minuscule?. Pourquoi pas A + 26 = a? Ca aurait été logique, non? On a alors toutes les lettres majuscules, puis toutes les minuscules qui suivent directement... Est-ce un hasard? Ben non, évidemment, il n'y a pas de hasard. Et s'il nous semblait logique, à nous humains, de créer une suite ininterrompue, il a fallu réfléchir "comme un ordinateur" pour simplifier les traitements et les rendre plus rapides.

Voici un tableau de la représentation binaire des valeurs 65 et 90, c'est-à-dire des caractères A et Z; On remarque que le 6ième bit de poids faible est à 0, et ce sera le cas pour toutes les lettres majuscules... 65 = 64 + 1, 90 = 64 + 16 + 8 + 2...

Nom : 2021-09-30_111603.png
Affichages : 181
Taille : 5,1 Ko

Pour basculer en minuscules, il suffit d'ajouter 32, ce qui revient à basculer le 6ième bit de poids faible à 1 => magique, non?

Nom : 2021-09-30_111542.png
Affichages : 156
Taille : 4,7 Ko


Ca permet au processeur de basculer très rapidement un texte de majuscules en minuscules et vice versa, car "allumer" ou "éteindre" un bit dans un octet, c'est l'opération de base d'un processeur (qui ne sait pratiquement faire que cela) que ce dernier réalise avec des additions, des soustractions et... des opérations logiques. En effet, pour basculer l'état d'un bit dans un octet, le processeur va utiliser les opérations logiques ET et OU, selon qu'il doit éteindre le bit ou l'allumer.

Petit rappel des ET et OU logiques

Nom : 2021-09-30_112536.png
Affichages : 158
Taille : 1,7 Ko


Pour nos caractères, cela donne le tableau suivant:

Nom : 2021-09-30_113251.png
Affichages : 175
Taille : 18,7 Ko


On comprend mieux maintenant le "+32" pour passer du code ASCII "majuscule" au code ASCII "minuscule" d'une lettre non accentuée. C'est pareil pour nos caractères accentués => É = 201, é = 233 (201 + 32)

Nom : 2021-09-30_113500.png
Affichages : 156
Taille : 9,4 Ko


Dans trois prochains billets, je vous parlerai de UNICODE et de UTF-8; ou comment transformer une chaine ASCII en UTF-8 et vice-versa avec deux (toutes petites) fonctions VBA...



1 Pour rappel, un octet contient 8 bits et les bits de poids faible sont à droite. Avec 1 octet, on peut donc coder 2^8 informations, soit 256 (0 à 255)





.

Envoyer le billet « A = 65, a = 97, ou la folle histoire des bits... » dans le blog Viadeo Envoyer le billet « A = 65, a = 97, ou la folle histoire des bits... » dans le blog Twitter Envoyer le billet « A = 65, a = 97, ou la folle histoire des bits... » dans le blog Google Envoyer le billet « A = 65, a = 97, ou la folle histoire des bits... » dans le blog Facebook Envoyer le billet « A = 65, a = 97, ou la folle histoire des bits... » dans le blog Digg Envoyer le billet « A = 65, a = 97, ou la folle histoire des bits... » dans le blog Delicious Envoyer le billet « A = 65, a = 97, ou la folle histoire des bits... » dans le blog MySpace Envoyer le billet « A = 65, a = 97, ou la folle histoire des bits... » dans le blog Yahoo

Mis à jour 05/10/2021 à 10h18 par Pierre Fauconnier

Catégories
Programmation

Commentaires

  1. Avatar de Dave Hiock
    • |
    • permalink
    \Ô/
    excellent ! Merci pour cette remise ne mémoire, qui plus est claire.