"Informatique fondamentale" : système bi

babaz -  
 babaz -
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!
A voir également:

5 réponses

stege p p
 
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
wid² Messages postés 209 Statut Membre 18
 
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
babaz
 
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
wid² Messages postés 209 Statut Membre 18
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
babaz
 
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