web-dev-qa-db-fra.com

À quoi servent les nombres octaux (base 8)?

Java permet d'écrire des littéraux numériques dans les bases 2, 8, 10 et 16.

Je me demande pourquoi base 8 est inclus, par exemple int x = 0123;?

Je pense qu'il pourrait y avoir quelque chose de similaire au fait qu'en hexadécimal la capacité d'un octet est FF + 1 , et ainsi de suite.

11
jokinjo

Réponse originale de "À quoi servent les nombres octaux (base 8)?"

Utilisation courante d'Octal

  • En tant qu'abréviation de binaire: Pour les ordinateurs (tels que UNIVAC 1050, PDP-8, ICL 1900, etc.), Octal a été utilisé comme abréviation de binaire car leur taille de mot est divisible par trois (chaque chiffre octal représente trois chiffres binaires). Ainsi, deux, quatre, huit ou douze chiffres pourraient afficher de manière concise un mot machine entier. Il a également réduit les coûts en permettant aux tubes Nixie, aux écrans à sept segments et aux calculatrices d'être utilisés pour les consoles d'opérateur, où les écrans binaires étaient trop complexes à utiliser, les écrans décimaux nécessitaient du matériel complexe pour convertir les radices et les écrans hexadécimaux devaient afficher plus de chiffres .

  • Représentation des mots 16, 32 ou 62 bits: Toutes les plates-formes informatiques modernes utilisent des mots 16, 32 ou 64 bits, divisés en octets de huit bits. Sur de tels systèmes, trois chiffres octaux par octet seraient nécessaires, le chiffre octal le plus significatif représentant deux chiffres binaires (plus un bit de l'octet significatif suivant, le cas échéant). La représentation octale d'un mot de 16 bits nécessite 6 chiffres, mais le chiffre octal le plus significatif représente (tout à fait inélégamment) un seul bit (0 ou 1). Cette représentation n'offre aucun moyen de lire facilement l'octet le plus significatif car il est étalé sur quatre chiffres octaux. Par conséquent, l'hexadécimal est plus couramment utilisé dans les langages de programmation aujourd'hui, car deux chiffres hexadécimaux spécifient exactement un octet. Certaines plates-formes avec une puissance de deux mots ont toujours des sous-mots d'instructions qui sont plus faciles à comprendre s'ils sont affichés en octal; cela inclut la famille PDP-11 et Motorola 68000. L'architecture x86 omniprésente moderne appartient également à cette catégorie, mais l'octal est rarement utilisé sur cette plate-forme.

  • Descriptions de l'encodage: Certaines propriétés de l'encodage binaire des opcodes dans l'architecture x86 moderne deviennent plus apparentes lorsqu'elles sont affichées en octal, par ex. l'octet ModRM, qui est divisé en champs de 2, 3 et 3 bits, donc octal peut être utile pour décrire ces codages.

  • Calculs et autorisations d'accès aux fichiers: Octal est parfois utilisé dans l'informatique au lieu d'hexadécimal, peut-être le plus souvent à l'époque moderne en conjonction avec les autorisations de fichiers sous les systèmes Unix (dans autorisation d'accès à chmod). Il a l'avantage de ne pas nécessiter de symboles supplémentaires sous forme de chiffres (le système hexadécimal est en base 16 et a donc besoin de six symboles supplémentaires au-delà de 0–9).

  • Affichages numériques: Les nombres octaux sont également utilisés pour afficher le contenu numérique sur un écran car il contient moins de symboles utilisés pour la représentation.

  • Représentation graphique des chaînes d'octets: Certains langages de programmation (C, Perl, Postscript, etc.) ont une représentation de textes/graphiques en octal avec échappé comme\nnn. La représentation octale est particulièrement pratique avec les octets non ASCII de UTF-8, qui codent des groupes de 6 bits, et où tout octet de début a une valeur octale\3nn et tout octet de continuation a une valeur octale\2nn.

  • Arithmétique à virgule flottante précoce: Octal a également été utilisé pour la virgule flottante dans l'Atlas Ferranti (1962), Burroughs B5500 (1964), Burroughs B5700 (1971 ), Les ordinateurs Burroughs B6700 (1971) et Burroughs B7700 (1972).

  • Dans les transpondeurs: Les aéronefs transmettent un code, exprimé sous la forme d'un nombre à quatre chiffres lorsqu'il est interrogé par le radar au sol. Ce code est utilisé pour distinguer différents avions sur l'écran radar.

Lectures complémentaires: https://en.wikipedia.org/wiki/Octal

0
Jishan Shaikh