Nombre héxadécimal

Bonjour,

je voudrais savoir, car c'est mal expliqué dans mon bouquin, à quoi sert un nombre hexadécimal plus qu'un nombre décimal.
Il y a aussi marqué 'exprimé en base 16' : qu'est ce que ça veut dire concrètement... Il me semble avoir oublié parce que jai déjà croisé cette expression à propos des nombres décimaux... mais avec une autre base.

Merci !
ma question est simple mais je préfère ne pas laisser passer une seule interrogation.

françois

françois

13 réponses

  1. Salut,
    les nombres decimaux sont exprimes en base 10, de 0 a 9, avec ces dix nombres tu peux ecrire tout les chiffres de 0 a l'infini, les nombres hexadecimaux sont en base 16, de 0 a 9 puis de A a F, soit :
    0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F (a moins qu'il n'y ait pas de 0 mais un dix, ca demande confirmation), dans le cas des hexadecimaux, 16 equivaut a F.
    A plus
    1. petite rectifiction :
      ... avec ces 10 chiffres, tu peux écrire tous les nombres...
      ... 15 équivaut à F...
    2. Modérateur
      a moins qu'il n'y ait pas de 0 mais un dix, ca demande confirmation

      Il ne peut pas y avoir de dix, car le dix n'est que la signification de "j'ai fait le tour des symboles donc je recommence avec un décalage sur la gauche", en fait 10, c'est 1 0.

      C'est également pour cela que la base d'un système s'écrit toujours 10 dans le système :

      Binaire 2 = 10
      Décimal 10 = 10
      Hexa 16 = 10

      A+ Blux
       "Les cons, ça ose tout.
      C'est même à ça qu'on les reconnait"
  2. salut francy,

    "c'est mal expliqué dans mon bouquin"

    non, c'est tout simplement expliqué, mais t'as pas compris !

    "à quoi sert un nombre hexadécimal plus qu'un nombre décimal. "

    théoriquement à rien, puisque ce sont tous des nombres

    dans la pratique il est plus simple de représenter et surtout de faire des calcul sur les nombres hexa

    Il y a aussi marqué 'exprimé en base 16' : qu'est ce que ça veut dire concrètement...

    prenons N = 2422 (en base 10)
    = 2 x 1000 + 4 x 100 + 2 x 10 + 2
    = 2 x 10^3 + 4 x 10^2 + 2 x 10 + 2

    il faut 4 chiffres pour l ereprésenter
    si chaque chiffre tient sur 1 octet (8 bits)
    alors il faut au moin s32 bits effectifs pour le représenter

    mais N = 2422
    = 9 x 256 + 7 x 16 + 6
    = 9 x 16^2 + 7 x 16 + 6
    = 976 (en base 16, c'est à dire en hexadécimal)
    il faut seulement 3 chiffres pour le représenter !!!
    économie de 8 bits !!!
    1. Dans la pratique, il est plus facile de faire les calculs ... en décimal, surtout si on les fait manuellement, alors que les calculateurs (an doute aussi les calculettes) effectuent les calculs en binaire. On peut considérer alors que l'hexa est une manière condensée d'écrire le binaire.
      Si un "chiffre" occupe un octet, ce n'est que dans sa forme externe (ascii ou autre), celle qu'on trouve pour les fichiers (de texte), ou clavier, ou écran, en entrée ou en sortie des applications. Il existe aussi une arithmétique décimale pour les ordinateurs où chaque chiffre n'occupe qu'un demi-octet : on parle alors de "décimal packé" (ou "décimal codé binaire").
      En électronique, on utilise aussi des arithmétiques bi-quinaire (10 = 2 x 5) ou qui-binaire (10 = 5 x 2), notamment pour faire du comptage, avec affichage sur "nixies".
  3. Un argument important qui justifie le choix d'utiliser les bases 8 et 16 (octal et hexadécimal), c'est la simplicité pour causer avec ta gentille machine.

    En effet un ordinateur ne reconnait que deux états, et communique donc en binaire : 0 ou 1.

    Il faut simplement remarqué qu'un chiffre de 0 à 7 (base 8) tiens sur 3 bits maximum.
    Même principe pour l'hexadécimal : de 0 à F, le chiffre tiens sur 4 bits maximum.

    0 : 000
    1 : 001
    2 : 010
    3 : 011
    4 : 100
    5 : 101
    6 : 110
    7 : 111
    STOP au prochain chiffre on sort de la base 8 et on passe sur 4 bits
    8 : 1000
    etc..
    15 : 1111

    L'intérêt?

    Ben si t'as machine te pond un code du style 11010101100110010110, il est très facile de le convertir en hexa !!
    Tu découpes ce nombre en binaire par tranche de 4 bits :

    1101 // 0101 // 1001 // 1001 // 0110

    Et tu leur attribue un chiffre en Hexa

    1101 -> D
    0101 -> 5
    1001 -> 9
    1001 -> 9
    0110 -> 8

    Le résultat en Hexa est : D5998 ! C'est quand même plus lisible :)

    Ceci est faisable dans les bases 8 et 16 car ce sont des puissances de deux : 8 = 2^3; 16 = 2^4
    (En décimal ca marche pô :P )

    Trop puissant l'hexa non?
    1. L'hexadecimal est utilisé en info pour tout ce qui est memoire pour avoir accés a une adresse memoire on utilise l'hex, la base 16 c'est l'hexa c'est l'autre nom car on compte de 0 a F donc 16 chifres d'ou hexa!
      1. A d'accord j'ai compris : le 'codage' n'était pas expliqué : ça l'est peut-être dans les pages suivantes. Si j'ai bien compris,
        272 en héxa donne 626 en décimal
        car 2*16^2+7*16+2 = 626

        Merci de la confirmation...
        françois
        1. Modérateur
          Voui !

          En fait la vraie formule est :

          2*16^2+7*16^1+2*16^0

          Les puissances de la base dans laquelle on écrit vont de 0 à n (par valeurs entières, et n est le nombre total de symboles du nombre) de la droite vers la gauche. Et on sait que a^0=1 (quelle que soit la valeur de a, par convention)

          A+ Blux
           "Les cons, ça ose tout.
          C'est même à ça qu'on les reconnait"
          1. Waoooo moi je ne comprends rien à rien aux maths et à l'informatique. D'ailleurs je suis devenue graphiste, c'est vous dire.

            Je suis tombée sur vous en cherchant comment dire 1991 - 2007 dans un langage genre informatique pour fêter les 16 ans de ma soeur qui adore les maths...

            Je tombe sur vous et là je trouve vos explications magistrales !!! J'ai tout compris, hihihi merci !!

            :)
            1. alros salut a tous moi je suis en MPi actuellement et je m'enbete. je fais une lecon sur les nombres bionaires et hexadecimal et c'est vraiment chiant surtout qu'on a 3 heures d'MPI d'affilllééé. Je l'ai lu un peu vos post sa ma vraiment pas eclairi, le prof encore moins looool

              Fin bref

              moi j'ai 34a en nombre hexadecimal alros je vais aller pompé sur mon voisins !
              1. je comprends pas comment on fait pour passer de la base 16 à 4 sans passer par la base décimale.
                par exemple: (178E)16 (E qui vaut 14) en base 4 ça donne combien ?
                1. ya pas que moi alors qui se tape 3 heures d'MPI d'affillée (le vrendedi soir en + !!!)
                  1. que veut dire 98053
                    traduction en clair si possible (je suppose que ça correspond à des lettres, enfin moi c'est ce que je cherche)
                    merci d'avance

                    en réponse à Blux et bien, c'est dans mon registre, en hexadecimal,
                    je ne suis ni matheuse, ni informaticienne, j'essaie de comprendre c'est tout, je suis très basic
                    pouvez vous m'aider
                    merci d'avance
                    1. Modérateur
                      Si on ne sait pas comment c'est codé, peu de chance de trouver, surtout avec aussi peu de données...