Bonjour à tous ! J’ai essayé de comprendre comment fonctionnait le binaire (avec les puissances de 2 etc.), et j’ai vu aussi la table de conversion ASCII. Mais par exemple 01000001 correspond à 65, et correspond aussi à la lettre A. Donc quand l’ordinateur reçoit ce code binaire, comment sait-il qu'il s'agit du caractere A ou le nombre 65??
Il ne connait pas le caractère A en tant que tel. Comme il ne connait pas le nombre 65, pour lui c'est "juste" 8 fils dont 2 sont actif (courant élevé).
En fonction de s'il faut dessiner une lettre A ou calculer 65 et autre chose via les instructions machines c'est là qu'il va y avoir une différence.
Moi même j'ai du mal à expliquer car je ne sais pas comment expliquer que ça dépends juste de comment le programme traite l'information.
L'ordinateur lui ne fait pas la différence car même le nombre 65 n'existe pas pour lui. Ce qu'il a lui c'est seulement soit des fils avec une tension, soit sans tension electrique.
Quand tu dis que A c'est 65 c'est "0100 0001" en fait ce n'est que 8 fil (un bus) dont 2 ont une tension appliqué. C'est ensuite la puce (ton CPU par exemple) qui va via des transistor dire, je vais ici ou ici.
D'ailleurs ça ce voit assez bien en programmation en C par exemple :
(j'aurai pu mettre directement char diff = 'A' - 'A'; aurait fait pareil)
Par contre si je demande de print dans un terminal 'A' il va y avoir des instructions pour dire :
Je doit afficher un 'A'
C'est encodé avec ASCII (plus simple mais maintenant on a utf-8, utf-16, etc.)
Il utilise la font monospace
Il a mis une taille de 16px
Je vais voir quels pixels je dois allumer pour afficher le 'A' dans la font monospace de taille 16px
Mais ça c'est le code machine de l'application que tu utilise (le terminal dans l'exemple) qui indique ces instructions.
Je ne sais pas si c'est plus claire, après j'ai pas de vidéo de mon côté à montrer car je me suis jamais vraiment poser la question (en tout cas pas jusqu'a ce point).
La lettre A a la valeur ASCII 65 (en décimal) ou 01000001 en binaire ou encore 41 en hexadécimal. ASCII c'est une norme pour définir le codage des caractères affichables.
L'ordinateur lui ne sait pas vraiment à quoi correspond la valeur décimale 65, il envoie cette valeur à un contrôleur d'affichage qui sait que la valeur 65 correspond une certaine table de pixels et cette table code pour l'affichage d'un 'A' sur l'écran, la table variant selon la langue, la fonte, la taille et le style.
(un 'A' en Calibri, Times New Roman, Courier aura la valeur 65 en codage ASCII) (dans un fichier, c'est toujours la valeur 65 si codage ASCII qui est enregistré sur le disque, et c'est à la lecture du fichier que le logiciel qui décode le fichier (notepad par exemple) va envoyer cette valeur au contrôleur d'affichage)
My website : Mon serveur discord, Se demerder tout seul, Faille XSS et SQL
My website : Mon serveur discord, Se demerder tout seul, Faille XSS et SQL