"0x" au début des mots hexadecimaux

hireegy -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,

Je voulais simplement savoir que représente ce "0x" au debut de chaqu mot: adresse memoire, contenu d'un registre etc...(par ex "0x804838b" alors que "804838b" aurait apparemment suffi). Est ce pour dire "autant de zeros qu'il faut selon le format de données choisi"?
D'avance merci pour votre reponse!

A voir également:

4 réponses

KX Messages postés 19031 Statut Modérateur 3 020
 
La notation est plus large que la seule utilisation des registre :
Si tu as des lettres (a...f) effectivement il y a peu d'ambiguïté mais s'il n'y a que des chiffres, c'est impossible de différencier 12345 (base 10), 0x12345 (base 16) ou encore 012345 (le 0 de début est parfois utilisé pour indiquer la base 8)
2
Le père
 
Bonjour

Non, avec juste "x", ça ne remplirait pas la même fonction. car tu peux avoir un nom de variable qui commence par x suivi de chiffres. Il y aurait encore ambiguïté.
Bien sûr, il s'agit de choix arbitraire et on aurait pu convenir qu'il était interdit d'appeler une variable "x suivi de chiffres hexadécimaux". Mais plus de variable x0, ni de xa...
La convention : "ça commence par un chiffre, c'est un nombre, ça commence par une lettre, c'est un symbole" me semble à la fois plus naturelle et moins contraignante.
1
hireegy
 
Ah, ok! Je comprends l'utilité. Mais pourquoi spécifiquement les caracteres "0x"? Pourquoi pas juste "x"? Ca remplirait la meme fonction sans ambiguité, non? Merci déjà de ta premiere réponse en tous cas, c'est le genre de détail dont on parle rarement explicitement sur le net!
0
KX Messages postés 19031 Statut Modérateur 3 020
 
J'ignore la provenance exacte de la notation 0x mais cependant elle est beaucoup utilisée dans les langages de programmation (en C par exemple) où les mots qui commencent par une lettre (x123 par exemple) sont considérés comme des variables alors que les mots commençant par des chiffres sont des valeurs. Je pense donc qu'une utilité de cette notation (sans prétendre qu'elle en soit à l'origine) est de dire qu'avec 0x qui commence par un chiffre on a bien affaire à une valeur.
0