Bonjour, cliquez-ici pour vous inscrire et participer au forum.
  • Login:



+ Répondre à la discussion
Page 2 sur 2 PremièrePremière 2
Affichage des résultats 16 à 17 sur 17

conversion binaire à hexadecimale.

  1. Azerus

    Date d'inscription
    juillet 2017
    Âge
    25
    Messages
    8

    Re : conversion binaire à hexadecimale.

    Rebonjour,

    je voulais savoir quand on a un nombre non entier avec une partie entière et une partie fractionnaire comme (253.45) par exemple , concernant la partie fractionnaire comment savoir quand est ce qu'il faut s'arrêter ?

    Merci à vous.
    Ta question, n'est pas très claire, mais voici peut-être quelques éléments de réponses :
    Pour "a" un nombre avec une partie entière et une partie fractionnaire, déjà on peut exprimer "a" comme une fraction irréductible "b/c".

    Si tu souhaite écrire "a" en base "n", tu ne pourra pas toujours complètement écrire "a". Par exemple 10/3 vaut en décimal 3,33333... et tu seras obligé d'utiliser un arrondi et c'est à toi de choisir avec quelle précision. En fait, tu ne pourras écrire "a" entièrement en base "n" si et seulement si tout les facteur premier de la décomposition du diviseur "c" sont dans la décomposition en facteur premier de "n". Par exemple, en décimal (n=10=2*5) tu pourras seulement écrire exactement les nombres de la forme a=b/((5^y * 2^x)). C'est donc à toi de choisir le nombre de divisions euclidiennes successives que tu vas faire pour écrire "a" en base "n" en fonction de la précision que tu veux atteindre.

    Si tu souhaite écrire "a" en nombre flotant, c'est la taille que prend le flottant en mémoire qui va fixer la précision du nombre "a". Il existe un ainsi différents types de flotant en fonction de la précision voulu : les simples, les doubles, les quadruples, etc... Les règles pour trouver le codage d'un flotant sont peu lourde mais compréhensible. En général, connaitre comment sont codés les flottant n'est utile que lorsque l'on s'intéresse à la précision de calcul d'un algorithme, ou pour comprendre les approximations effectuées par la machine. La machine utilise très bien les flotants mais à la main c'est un peu relou à utiliser. Il doit y avoir des cours en ligne qui vont t'expliquer cela.

    J'ai trouver ce ppt qui m'a l'air de relativement bien décrire comment écrire un nombre à virgule dans une autre base ou sous forme de flotant : http://math.univ-lyon1.fr/irem/IMG/p...reels_IREM.pdf

    Cdlt,
    Azerus

    -----

     


    • Publicité



  2. atosvq

    Date d'inscription
    janvier 2018
    Localisation
    Nimes
    Messages
    8

    Re : conversion binaire à hexadecimale.

    Bonjour
    Je connais bien ce problème, j'ai réalisé un drone avec un microconroleur dsPIC4013 16 bits les calculs de rotation de matrice sont de plus fait en 32 bit
    Donc plus de secret pour moi....
    La question que tu te poses des l'origine de l'informatique a été posée ....la solution les nombres flottants.

    Une machine informatique ne connaissant que des 0 et 1 il faut des conventions de représentation des chiffres et nombres
    car par exemple en 8 bit :
    1000 0110 représente 1*2^7+0*2^6+0*2^5+0*2^4+0*2^3+ 1*2^2+1*2^1+0*2^0
    parce qu'on le veut bien
    On représente ainsi des nombre entier de 0 à 255 (2^n-1) n=8
    ( je mets de coté pour ce genre de propos les nombre négatif )
    Mais c'est une convention rien ne nous empèche de penser autrement
    par exemple
    1*2^4+0*2^3+0*2^2+0*2^1+0*2^0+ 1*2^-1+1*2^-2+0*2^-3

    Pas évident pour s'y retrouver.....
    Très souvent dans les microcontroleurs un trouve des fonctions qui prennent en compte une dimension fractionnaire des nombres binaires
    dans les PIC de microchip les fractionnaires ont le format de 2^-0 2^-1......2^-15 soit la représentation précédente divisée par 2^15
    Donc en travaillant en binaire il faut toujours connaitre sous que forme sont représentés le nombres , très fastidieux d'autant que des nombre sous différents format doivent coexister par exemple multiplier 123.25 par 0.0236 pas facile !
    Tous les format sont possibles mais certain plus facile que d'autres, on peut utilise plusieurs mémoire pour un nombre
    sur 8 bits( de 0 à 255) le nombre 125.12 pourra être exprimé par:
    w1 partie entière 125 , w0 partie fractionnaire *2^8 => 0.12*2^8 =30.72 qui devra être arrondi à 30 ou 31
    w1:w0 w1=0111 1101 w0= 0001 1111 (31)

    avec w0 que l'on doit interpréter comme multiplie par 2^-8


    donc 2 emplacements mémoires (2 octets) pour 1 nombre et se souvenir de la représentation donc pas facile à gérer !!!!

    Bonjour les calculs avec différentes représentations!!!!!
    Les multiplications complique encore le pb:
    w0, w1 ,w2 ,w3 octets
    w0 * w1 sera représenté sur 2 octets
    w2*w3 sur 2 octets
    w0*w1*w2*w3 sur 4 octets......en plus il faut tenir compte des représentations !!!!!!!!!!!!! Je l'ai fait !!

    Donc les nombres flottants ont été la solution salvatrice:
    Un nombre comme 12345678 sera 0,12345678 *10^8 , 0.1234 sera 0.12340000*10^0
    donc une représentation dans laquelle le format du nombre sera toujours identique ici 8 chiffres significatifs qui s'appelle la mantisse et un exposant positif ou négatif.

    La précision dépendra du nombre de chiffres significatifs de la mantisse
    ainsi le nombre 1235467890 aura la même mantisse que le précédent nbr il ne diffère que par l'exposant ...on aura perdu en précision...mais gagner en faciliter de calcul car par exemple pour multiplier 2 nbr on multiplie les mantisses qui ont toujours le même format et les exposants qui ont eux aussi toujours le même format !!!!! Ce sont les nbr flottants ! super non
    Dans les flottants c'est l'addition qui est la plus compliqué car il faut décaler la mantisse de l'écart entre les 2 exposants
    En binaire :le nombre en 8 bit :00011011 deviendra 1011.0000 exp 2^4 je me suis pas trompe ce n'est pas 110011 car dans tous les cas le premier est un 1 alors c'est pas la peine de le mentionner on gagne ainsi un chiffre sur la mantisse !

    Voila j'espère avoir apporté un petit éclaircissement je m'y suis bien cassé la tête
    A pluch
     





Sur le même thème :


    301 Moved Permanently

    301 Moved Permanently


    nginx/1.2.1



 

Discussions similaires

  1. conversion binaire
    Par afaf1995 dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 09/09/2014, 22h57
  2. conversion du binaire à l'hexadécimal
    Par nebex dans le forum Électronique
    Réponses: 4
    Dernier message: 05/04/2008, 08h14
  3. Conversion binaire --> BCD
    Par joeytrib dans le forum Électronique
    Réponses: 2
    Dernier message: 17/09/2006, 19h12
  4. Conversion BCD / binaire
    Par Gérard dans le forum Électronique
    Réponses: 8
    Dernier message: 12/06/2006, 21h19
  5. Conversion Binaire-Decimale
    Par EaGle58 dans le forum Technologies
    Réponses: 4
    Dernier message: 10/01/2006, 11h49