Bonjour à tous,
je travaille actuellement sur l'arithmétique flottante pour un examen de fin d'année, et j'ai quelques problèmes sur la méthode pour arrondir les flottants dans les 4 modes d'arrondi définit par la norme IEEE 754.
- arrondi au plus près
- arrondi vers plus infini
- arrondi vers moins infini
- arrondi vers zéro
Ces 4 arrondis correspondent respectivement aux fonctions suivantes (lib math.h) :
- round()
- ceil()
- floor()
- trunc()
J'ai codé un petit programme qui permet de calculer les arrondis pour un nombre flottant donné :
Cela dit, j'ai beau comparer plusieurs résultats, lire beaucoup de documentation sur internet, mais je ne trouve pas la méthode ...$ ./float2bin 3.4655 5
3.4655000000
bin => 0 10000000 10111011100101011000001
-----
Arrondi vers le haut: dec => 3.4655100000 bin => 0 10000000 10111011100101011101010
Arrondi vers le bas: dec => 3.4655000000 bin => 0 10000000 10111011100101011000001
Arrondi au plus proche: dec => 3.4655000000 bin => 0 10000000 10111011100101011000001
Arrondi vers zéro: dec => 3.4655000000 bin => 0 10000000 10111011100101011000001
-----
Alors si quelqu'un peut expliquer la méthode "mathématique" pour réaliser ces arrondis, je le remercie d'avance !!
Merci d'avance pour toutes les éventuelles réponses à ce sujet.
Partager