IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Conversion base 8 et base 16.


Sujet :

avec Java

  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Septembre 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 134
    Points : 66
    Points
    66
    Par défaut Conversion base 8 et base 16.
    Bonjour,
    J essaie de comprendre les conversions entre les Base 8, base 16 et binaire.
    donc je comprends la transformation entre le binaire et un chiffre décimal
    Exemple :
    Transformation Binaire à Décimal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    0001 => décimal 1, 0111 => décimal 7.
    Ca c est tout simple mais une fois qu'on passe en Base 8, ou en Base 16, je comprends pas le mécanisme :
    Auriez vous un exemple simple à démontrer ?
    Ah oui j ai un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    en Binaire 10000 devient 16 en Décimal et 00F0 en Hexadecimal.
    C est le passage en Hexa que je ne comprends pas dans cet exemple.

  2. #2
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 552
    Points : 15 463
    Points
    15 463
    Par défaut
    Pourtant le passage binaire a octal et hexadécimal est bien plus simple que le passage en décimal car se sont des base multiples de 2. Il suffit de découper le nombre en paquet de 3 ou 4 bits(a partir de la droite) et de remplacer par la valeur correspondante.
    Les paquets sont de 3 bit pour l'octal et 4bits pour l'hexadécimal.

    L'hexadécimal et particulièrement pratique car avec 4 lettres un code exactement 4 bits soit un octet.

    Par exemple pour convertir le nombre binaire 1011100 en hexadécimal
    - on sépare en paquets de 4 bit -> 101 et 1100
    - ce qui donne les nombres 9 et 12 en décimal
    - et donc 9C en hexadécimal (les chiffres au delà de 9 sont codés avec des lettres)

  3. #3
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 552
    Points : 15 463
    Points
    15 463
    Par défaut
    en Binaire 10000 devient 16 en Décimal et 00F0 en Hexadecimal.
    C est le passage en Hexa que je ne comprends pas dans cet exemple.
    pour l'hexadécimal, c'est faux.
    - 10000 ce découpe en 2 paquets: 1 et 0000
    - cela qui donne 1 et 0
    - la valeur hexadécimale est donc 10

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 547
    Points : 21 602
    Points
    21 602
    Par défaut
    Citation Envoyé par prugne Voir le message
    Ah oui j ai un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    en Binaire 10000 devient 16 en Décimal et 00F0 en Hexadecimal.
    C est le passage en Hexa que je ne comprends pas dans cet exemple.
    Pas étonnant que tu ne le comprennes pas, il est faux.

    Ce qui est un peu normal : hexadécimal ça veut dire base 16. 16 en base 16 ça s'écrit 10, c'est normal. De la même manière que 8 en base 8 s'écrit 10, et 2 en base 2 s'écrit 10.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre du Club
    Femme Profil pro
    Inscrit en
    Septembre 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 134
    Points : 66
    Points
    66
    Par défaut merci !
    je viens de comprendre donc par vos réponses le passage de Binaire en Decimal et en hexadecimal.
    Maintenant j essaie de faire une conversion de Base 8 en Base 10
    Auriez vous un exemple simple?

  6. #6
    Membre du Club
    Femme Profil pro
    Inscrit en
    Septembre 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 134
    Points : 66
    Points
    66
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Ce qui est un peu normal : hexadécimal ça veut dire base 16. 16 en base 16 ça s'écrit 10, c'est normal. De la même manière que 8 en base 8 s'écrit 10, et 2 en base 2 s'écrit 10.
    par contre ton explication - je n ai pas trop compris LOL

  7. #7
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 552
    Points : 15 463
    Points
    15 463
    Par défaut
    Comme dans mon exemple pour les hexadécimal sauf qu'il faut faire des groupe de 3 bits au lieu de 4.

    Par exemple pour 10110011010 :
    - on regroupe par paquet de 3 -> 10, 110, 011 et 010
    - on convertit chaque groupe -> 2, 6, 3 et 2
    - donc le résultat est 2632 en octal.

  8. #8
    Membre émérite
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Points : 2 371
    Points
    2 371
    Par défaut Les maths sont tes amies
    Bonjour,

    en fait, l'écriture d'un nombre change suivant la base dans laquelle il est écrit, on a :

    x = p1*b^0 + p2*b^1 + p3*b^2 + ... + pn*b^(n-1) avec n fini et surtout pi inférieur ou égal à b.

    de là, tu peut faire tous les changements de base que tu veux !

    de la base décimal vers la base 16 puis vers hexadecimal, on a
    16 = 6*10^0 + 1*10^1 = 0*16^0 + 1*16^1 = 0*8^0 + 2*8^1

    Essaye d'écrire qlq nbre dans différentes bases
    Article : Installation de Cocoon
    Je ne réponds pas aux MP à caractère technique.

  9. #9
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 547
    Points : 21 602
    Points
    21 602
    Par défaut
    Citation Envoyé par prugne Voir le message
    par contre ton explication - je n ai pas trop compris LOL
    C'est normal, je n'expliquais pas comment faire la conversion, j'expliquais pourquoi il est évident que 16 en décimal s'écrit 10 en hexadécimal.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 72
    Points : 58
    Points
    58
    Par défaut
    avec n fini et surtout pi inférieur ou égal à b.
    pi doit etre strictement inferieur a b et non inferieur ou egal.

  11. #11
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut
    L'hexadécimal et particulièrement pratique car avec 4 lettres un code exactement 4 bits soit un octet.
    euh.
    Sans danger si utilisé conformément au mode d'emploi.

    (anciennement BenWillard, enfin moins anciennement que ... enfin bon c'est une longue histoire... Un genre de voyage dans le temps...)

  12. #12
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 552
    Points : 15 463
    Points
    15 463
    Par défaut
    En effet je devais pas être bien réveillé quand j'ai écris ça. Je voulais dire:
    L'hexadécimal est particulièrement pratique car avec 2 caractères, on code exactement 2*4 bits soit un octet.

Discussions similaires

  1. Réponses: 4
    Dernier message: 09/04/2008, 21h39
  2. Conversion de nombre en base 36
    Par adiGuba dans le forum C
    Réponses: 5
    Dernier message: 16/10/2007, 11h15
  3. Réponses: 2
    Dernier message: 16/02/2007, 22h34
  4. [Débutant] Conversion de base 10 vers base 16
    Par beegees dans le forum Assembleur
    Réponses: 7
    Dernier message: 30/10/2006, 18h31
  5. conversion access vers autre base de données
    Par Anthony17 dans le forum Access
    Réponses: 1
    Dernier message: 16/06/2006, 14h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo