Binaire, Hexadécimal et Octal

ou comment changer de base

a marqué ce sujet comme résolu.

Tout le monde se secoue ! :D

J’ai commencé (mercredi 17 juillet 2024 à 16h00) la rédaction d’un tutoriel au doux nom de « Binaire, Hexadécimal et Octal » et j’ai pour objectif de proposer en validation un texte aux petits oignons. Je fais donc appel à votre bonté sans limites pour dénicher le moindre pépin, que ce soit à propos du fond ou de la forme. Vous pourrez consulter la bêta à votre guise à l’adresse suivante :

Merci !

+0 -0

Je ne sais pas si c’est vraiment utile de parler de l’octal ; personnellement je ne l’ai rencontré au cours de ma carrière que dans deux cas : la commande chmod que tu mentionnes, et les pièges des langages qui se croient intelligents à essayer de faire des conversions automatiques et qui passent automatiquement en octal si le premier chiffre d’un nombre représenté sous forme de caractère est 0. Donc quitte à le garder, je le mettrais après la représentation hexadécimale.

Par contre, il y a une base très utilisée que tu ne mentionne pas, c’est la base 64. Elle est peu utilisée pour représenter directement des nombres, mais ça peut être l’occasion de montrer que c’est bien une base comme les autres, et de parler un peu de la représentation des données en informatique (ou de faire le lien avec un contenu sur ce sujet si on l’a déjà).

Je trouvais qu’il valait mieux le montrer avant l’hexadécimal car il permettait de montrer le principe des groupement de bit avec des symboles familiers puisqu’on évite les lettres. Sinon d’accord que ça peut dégager.

Bien vu la base64, j’y ai pas pensé, en fait j’ai écrit ce tuto après avoir essayé d’expliquer dans un sujet électronique du forum (le décodeur de l’afficheur 7 segments) la conversion de binaire à décimal. J’ai voulu écrire quelque chose plus complet et plus clair.

J’ai failli tomber un peu dans la représentation des données déjà quand dans la partie binaire j’explique qu’il s’agit d’entiers positifs, j’ai voulu adresser un mot sur le négatif et le flottant mais j’ai estimé que c’était pas vraiment le scope que je voulais me donner. Je suis d’accord cependant que c’est très lié, peut-être devrais-je évoluer vers un plus gros tuto qui couvre la représentation des données ?

+0 -0

Je pense que les conversions entre bases mériteraient aussi d’être démystifiées. En lisant ce que tu décris avec la base 7 ça donne l’impression qu’il y a une méthode pour convertir vers la base 10 et une autre méthode pour convertir depuis la base 10.

Je me dis que ça pourrait être intéressant de montrer une conversion de (262)10(262)_{10} vers (523)7(523)_7 en procédant de la même manière que pour (523)7(523)_7 vers (262)10(262)_{10} :

(262)10=(2)7×(132)7+(6)7×(131)7+(2)7×(130)7=(2)7×(202)7+(6)7×(13)7+(2)7×(1)7=(404)7+(114)7+(2)7=(523)7\begin{aligned} (262)_{10} &= (2)_7 \times (13^2)_7 + (6)_7 \times (13^1)_7 + (2)_7 \times (13^0)_7 \\ &= (2)_7 \times (202)_7 + (6)_7 \times (13)_7 + (2)_7 \times (1)_7 \\ &= (404)_7 + (114)_7 + (2)_7 \\ &= (523)_7 \end{aligned}

Pour le coup ça demande beaucoup de gym pour les opérations, mais pour moi l’intérêt serait vraiment de montrer que la conversion est la même quelle que soit la base de destination quand on travaille dans sa représentation.

Ok, c’est vrai que ça montre que la base 10 n’a rien de spécial, je peux montrer ça en passant, oui pourquoi pas. Mais je veux garder les autres méthodes, car ce sont celles qui servent dans la pratique.
Merci de m’avoir montré le bloc aligned qui est quand même plus lisible

+1 -0

A propos d’octal : j’en ai vu dans les années 70 sur une machine BULL peut être un1070, je ne me souviens plus. C’était assez sportif pour exploiter les dumps mémoire.
Du style les codes ASCII en octal ;)

L’octal peut être utile dans le cadre d’UTF-8 qui manipule des blocs de 2+6 bits, sous la forme 10xxxxx. (voir https://zestedesavoir.com/contenus/4190/lencodage-utf-8-a-la-main/#3-principes-de-codage).
J’avais envisagé d’aborder ce point dans mon article L’encodage UTF-8 à la main mais j’y ai renoncé car cela apporte un bénéfice marginal.
Wikipedia mentionne l’utilisation de l’octal dans les transpondeurs.

A propos d’autres bases :
la base vingt qui laisse en héritage (en français de France) "quatre-vingts", "quatre vingt dix" et le nom d’un hôpital parisien "les quinze-vingtss".
la base 60 utilisée pour le décompte du temps et des angles en minutes et secondes.
la base 12 utilisée dans les systèmes de mesure non métriques, cauchemar des écoliers anglais.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte