"Informatique fondamentale" : système bi

Bonjour,

Pouvez-vous m'expliquer comment un ordinateur "traduit" des données binaires en informations intelligibles pour chacun (un chiffre ou une lettre, par exemple) ?

Quel composant indique au processeur que, "1000001" désigne, avec la norme ASCII, la lettre A ? Comment cette pièce parvient-elle à faire l'association ?
Par ailleurs, j'ignore totalement comment la "forme" sommaire d'un caractère est stockée.

Bien qu'il s'agisse du "b.a-ba" de l'informatique, je ne parviens pas à trouver d'informations sur ces mécanismes fondamentaux. Si vous pouviez m'aider, j'en serais ravi!

Je vous remercie!

5 réponses

  1. il y a les bits (1 ou 0) .il y a les octets (groupe de 8 bits) ..

    explication :un bit =2 combinaisons (0 ,1); un groupe de 2 bits = 4 combinaisons 00,01,10,11... c'est 2² =4.....
    un groupe de 3bits c'est 8 combinaisons 000,001,010,011,100,101,110,111, ....c'est 2³=8....

    un octet c'est 2exp8...= 256 combinaisons ...soit chacunes des lettres du clavier a un équivalant en combinaison d'un octet (ou byte en anglais) ...
    0
    1. un nombre ou un caractère (ce qui est la même chose) est codé en mémoire par des "0" et des "1".

      c'est le programme qui dit au processeur : cette variable là est à traiter comme du texte et celle-là comme un nombre entier.
      ainsi, la même combinaison de 0 et de 1 pourra être interprété différemment selon la définition qu'on lui donne.
      si on lui dit que c'est un caractère ASCII, alors le caractère est codé sur 1 octet et pour savoir de quel caractère il sagit, on se réfère à la table ASCII.

      si c'est un entier de base qui peut être positif ou négatif, alors il est codé sur 4, 6 ou 8 octets. le bit de poids fort correspond au signe de l'entier et les suivants à la valeur de l'entier, calculée avec les puissances de 2.
      0
      1. Merci pour vos réponses qui, je dois le dire, laissent entière mon interrogation.

        "si on lui dit que c'est un caractère ASCII, alors le caractère est codé sur 1 octet et pour savoir de quel caractère il sagit, on se réfère à la table ASCII. "

        qui est ce "on se réfère" ? Comment "sait-il" qu'il doit s'y référer ? Comment sont "inscrites" les formes "originelles" des caractères (lettres, chiffres...) pour qu'il puisse, par la suite, nous les afficher ? Quels sont les mécanismes de ces perpétuelles conversions ?

        Je vous remercie
        0
        1. je ne connais pas tes bases en programmation, mais le plus simple c'est de passer par là. (je vais le faire avec des exemples en C parce que je ne connais presque que ça...)

          tu créé une variable "caractere" qui est du type "char" (enfin, du type caractère quoi). en mémoire, cette variable prend 1 octet, soit 8bits. c'est donc une succession de 8 "0" ou "1". par exemple, 01000001
          imaginons que tu veuilles afficher cette variable. ça se fait avec le printf. tu vas faire :
          printf("%c", caractere);
          le "%c" indiquant qu'il sagit d'un caractère. le processeur va donc lire la succession de 0 et de 1 correspondant à cette variable et l'interpréter comme étant un caractère ASCII. c'est lui qui selon la suite de 0 et 1 va aller chercher dans la table ASCII, trouver à quel lettre ça correspond puis l'afficher à l'écran. ici, il va afficher "A"

          si maintenant, on avait fait
          printf("%d", caractere);
          le "%d" indique qu'on veut afficher un nombre entier. or, caractère n'est pas du type entier, mais du type caractère. qu'à cela ne tienne ! le processeur va aller voir la suite de 0 et de 1 correspondant et calculer l'entier correspondant. ici, c'est "65", il va donc afficher 65.

          dans la mémoire, toutes variables est donc une suite de 0 et 1. c'est dans ton programme que tu va dire : ça, il faut l'interpréter comme un entier, celui-là comme un flottant et celui-ci comme un caractère". si tu ne dis pas au processeur comment il doit interpréter la suite de 0 et de 1, il ne sauras pas quoi en faire !!!

          je crois avoir répondu à tes 3 questions, mais je n'ai peut-être pas été clair :s
          dans tous les cas, le mieux pour toi est encore d'apprendre directement à travers des exercices de programmations...
          0
          1. Merci pour ta réponse wid²!

            Toutefois, ce que tu dis suppose que l'ordinateur sache ce qu'est un caractère... comment le sait-il ?
            0