2017-03-28 3 views
0

J'apprends le langage PHP. Je lisais un article sur le langage PHP et tombais sur l'utilisation de différents systèmes numériques, à savoir les nombres décimaux, hexadécimaux et octaux. Nous utilisons des nombres décimaux et je sais que les ordinateurs se nourrissent de Binary (0 et 1). Alors, où les systèmes de numération Hex et Octal entrent-ils en jeu dans le contexte des ordinateurs et de la programmation?Quel est l'objectif de différents systèmes de numérotation en programmation?

+0

différents systèmes de numérotation sont utilisés par différents algorithmes. il y a quelques astuces de performance disponibles en hexadécimal qui ne fonctionnent pas de la même manière en décimal. – xeo

+2

@xeo Cela ... n'a pas vraiment de sens. Sous le capot, les numéros sont tous stockés sous forme de bits (binaires). Vous ne pouvez pas obtenir des améliorations de performance, les bases sont simplement une façon différente d'afficher la même chose. Différentes bases sont réellement présentes uniquement dans le code source ou lorsque vous affichez quelque chose sous forme de texte à l'écran (dans ce cas, il est généralement affiché en décimal). – uliwitness

Répondre

2

Les gens de l'informatique doivent parfois gérer la façon dont les choses sont stockées au niveau des bits. Hexadécimal est sympa parce qu'il s'aligne avec des octets: Alors qu'il n'est pas immédiatement évident combien d'octets vous devez stocker le nombre décimal 1234 (sans parler des bits que chacun de ces octets contiendrait), 0x1234 représente deux octets, 0x123456 trois octets. Vous pouvez donc le lire octet par octet (deux chiffres hexadécimaux à la fois).

De même, octal était utile sur ancient systems that had 12-bit words.

+0

Octal s'aligne également avec des demi-octets aka grignoter. – uliwitness

+0

@uliwitness: Comment ça? Octal n'a que trois bits par chiffre. Mais l'hexadécimal s'aligne avec les grignotements. – Thilo

+0

Huh. Tu as raison. Pardon. Rien à voir ici, juste quelqu'un ne pensant pas juste le matin. – uliwitness