• # Une implémentation

    Posté par . En réponse au message Addition de flottants. Évalué à 2.

    Bonjour,

    Je m'étais amusé à coder ça il y à quelque temps. En fait j'ai commencé par la multiplication de short pour dériver sur la division puis les additions, division et multiplication flottantes. Tout ça juste avec des additions et des operations logique.

    Le code, pas franchement très propre, est ici http://snipt.org/tgk . L'addition flottante est dans fadd().

    L'idée c'est que chaque nombre est codé en 'mantisse*2^exposant'. Pour pouvoir additionner il faut donc que les deux exposant soit égaux, on multiplie donc l'exposant d'un des nombre pour obtenir le même exposant puis le résultat devient (mantisse1+mantisse2)*2^exposant.

    Ce code n'a évidemment aucun intérêt pratique en C mais il permet d'évaluer les algorithmes qui permettent de ré-implémenté ces opérations sur des petits microcontrolleurs (qui n'ont parfois même pas de multiplication hard), ou en hard justement (vhdl&co...)