Question conversion Octal vers Binaire

A

anon349

ex membre
Salut, alors voilà en fait je veux convertir des nombres en octal vers du hexadécimal, du coup je fais octal -> binaire -> hexa.

Mais y a un truc que je comprends pas, puisque pour faire de l'octal vers du binaire on doit avoir des groupes de 3 chiffres, et que leur valeur ne peut dépasser 7, on fait comment quand on doit convertir un 8 ?

Un exemple :

Pour convertir 165 (base 8 ) en binaire, ça me fait :

--1 | 6 | 5--
--v-- v --v--
001 110 101

J'enlève le zéro du début pour avoir des groupes de 4 et pouvoir convertir en hexa ;

001|110|101 --> 0111|0101 = 75 (base 16)

Donc jusque là voilà, maintenant j'essaie de faire ça avec le nombre 187... Bah en fait je peux pas puisque le maximum que je peux inscrire c'est 7 ( = 111), donc je peux convertir le 1, le 7 mais pas le 8...

Donc comment convertir un 8 d'octal vers binaire ? Ou alors c'est tout simplement pas possible ?
 

Gemini

Elite
A une époque j'en ai mangé de ça lol

je pense que le 8 en base 2 c'est 1000
ce qui fait en héxa = 8 ...
L'héxa s'arrête eu chiffre 9 puis c'est A , B ...
 
1er
OP
A

anon349

ex membre
Oui mais ça c'est avec des groupes de 4 chiffres, mais vu qu'en partant de l'octal je dois d'abord faire des groupes de trois, comment je suis censé faire ?
 

Gemini

Elite
A mon sens la conversion tu peux faire un groupement par 3 puis par 4 en ajoutant ou en retirant un zéro s'il en manque... pour la conversion vers l'héxa
 
1er
OP
A

anon349

ex membre
Bah j'essaie, tout ce que j'ai trouvé c'est ça ;

--1--|--8--|--7--
--v-----v-----v--
001 - 1000 - 111

Je retire les deux premiers zéro (?) pour avoir des groupes de 4, ce qui donne 1100|0111 = C7 en hexa, mais c'est faux, avec un convertisseur la bonne réponse est 1111|(0)111 = 7F.. Je sais pas du tout comment faire pour arriver à 7F :-(
 

Gemini

Elite
La bonne réponse 7F pour 187 ?
moi j'ai 1 lol par ailleurs je pense que c'est un chiffre qu'on peut pas convertir...
Car l'octal va de 0 -> 7 = 8 chiffres et 187 n'est pas un chiffre octal...
 
1er
OP
A

anon349

ex membre
Donc ça veut dire que théoriquement, on ne pourra jamais me demander de convertir un nombre contenant des 8 et des 9 ?
 

Skarbone

Le méchant Ω
En binaire il y a que 0 et 1.
En octal il y a que 0, 1, 2, 3, 4, 5, 6 et 7... Donc 187 en base 8 ne peut pas exister Oo.

Si on te demande de passer du binaire "128" au décimal, tu fera la même gueule :D
 

gregsting

Chat!
Voilà comme un 1A n'est pas un nombre décimal, 187 n'est pas octal
 
1er
OP
A

anon349

ex membre
Ok ça va mieux d'un coup ! je m'arrachais les cheveux à chercher.. En fait c'est l'octal qui me rendait malade, quelle débilité de truc mais je pense avoir enfin saisi :

Pour passer de binaire à octal : Rajouter un zéro au binaire (Et ça fait automatiquement une conversion décimal à octal car total binaire = décimal, donc le résultat de conversion binaire/octal est le même que le résultat décimal/octal), et pour octal à binaire puis hexa, c'est l'inverse, il faut retirer le premier zéro..

SUPER chiant ! Mais bon je retiendrai (J'espère)

Par contre 1A en décimal c'est pas tout simplement 12 ? Même chose pour 128 en binaire ( 1000|0000 ) = 128 en décimal non ?
 

JetseX02

☁ INFUSE ☁
Ok ça va mieux d'un coup ! je m'arrachais les cheveux à chercher.. En fait c'est l'octal qui me rendait malade, quelle débilité de truc mais je pense avoir enfin saisi :

Pour passer de binaire à octal : Rajouter un zéro au binaire (Et ça fait automatiquement une conversion décimal à octal car total binaire = décimal, donc le résultat de conversion binaire/octal est le même que le résultat décimal/octal), et pour octal à binaire puis hexa, c'est l'inverse, il faut retirer le premier zéro..

SUPER chiant ! Mais bon je retiendrai (J'espère)

Par contre 1A en décimal c'est pas tout simplement 12 ? Même chose pour 128 en binaire ( 1000|0000 ) = 128 en décimal non ?
Ce qu'ils voulaient dire c'est que 1A n'est pas une valeur decimale mais hexa et que 128 est une valeur decimale et pas binaire ;)
 
1er
OP
A

anon349

ex membre
Ah, d'accord :)
 

Esta

Boy's dream
Ce qu'ils voulaient dire c'est que 1A n'est pas une valeur decimale mais hexa et que 128 est une valeur decimale et pas binaire ;)
Plus précisément: 1A est une valeur pour toutes les bases >= 11 :dead:
 
1er
OP
A

anon349

ex membre
Mais alors, pourquoi le convertisseur arrive quand même à sortir 7F ? Ça veut dire qu'il fait un calcul impossible et donc erroné ?
 

gregsting

Chat!
Ok ça va mieux d'un coup ! je m'arrachais les cheveux à chercher.. En fait c'est l'octal qui me rendait malade, quelle débilité de truc mais je pense avoir enfin saisi :

Pour passer de binaire à octal : Rajouter un zéro au binaire (Et ça fait automatiquement une conversion décimal à octal car total binaire = décimal, donc le résultat de conversion binaire/octal est le même que le résultat décimal/octal), et pour octal à binaire puis hexa, c'est l'inverse, il faut retirer le premier zéro..

SUPER chiant ! Mais bon je retiendrai (J'espère)

Par contre 1A en décimal c'est pas tout simplement 12 ? Même chose pour 128 en binaire ( 1000|0000 ) = 128 en décimal non ?

Voilà comme le monsieur a dit...

Pourquoi dit tu "1A ce n'est pas 12"?
 
1er
OP
A

anon349

ex membre
J'avais mal compris, je pensais que tu voulais dire que 1A n'était pas équivalent à 12 en décimal :)
 

eGm_

Gibon Blasé
1+1 = 1
 

Zloup

Badger
187 est impossible en octal car l'octal utilise les nombres de 0 à 7 (pour faire 8 possibilités).

le problème se situe là et pas ailleurs.

c'est comme si tu faisais de l'hexadécimal avec un G quelque part, ce n'est pas possible.
 

[Clad]

Manipulateur de bits
Et pourquoi tu fais ce genre de conversions ?
 
Haut