Dans l'exemple précédent, %lf (et ses variantes comme %8.2lf) est le code format associé à un double.

D'où le code définitif :Maintenant, vous avez du code à peu près potable et fonctionnel. Pour savoir si les deux nombres à comparer sont « voisins », il suffit donc de comparer leur représentation en mémoire convertie en nombre entier.Par la suite, je dirais (abusivement, certes) « représentation entière » plutôt que « représentation en mémoire lue comme un entier », c'est quand même plus court.Mais comment accéder à cette représentation entière ?pour comprendre cette expression, il faut en fait la lire de droite à gauche :et hop ! Eh bien, prenons 2 nombres de type Ces 2 nombres sont « consécutifs », il ne peut pas y avoir d'autre nombre du même type dont la valeur serait comprise entre les 2. Il peut aussi valoir :enfin, on n'a pas encore réglé le problème de zéro.Quelques calculs avec ces valeurs particulières :\begin{matrix} ext{Le symbole}\pm ext{dans le r\'esultat d'une division signifie que le signe} \\ ext{d\'epend de ceux du num\'erateur et du d\'enominateur selon la r\`egle suivante :} \\ ext{- deux signes identiques : signe +} \\ ext{- deux signes diff\'erents : signe -} \\ \end{matrix}\begin{matrix} x \div 0 &=& \pm\infty \\ 0 \div 0 &=& NaN \\ \\ x \div \infty &=& \pm0 \\ \infty \div \infty &=& NaN \\ \\ 0 imes \infty &=& NaN \\ \\ (+\infty) + (+\infty) &=& +\infty \\ (+\infty) - (+\infty) &=& NaN \\ \end{matrix}Ça ne vous autorise pas à écrire des choses comme Pour représenter tout ce petit monde, on utilise des valeurs spéciales de l'exposant (qui ne peuvent donc pas être utilisées pour des nombres normaux) :Si l'exposant vaut sa valeur maximale (tous les bits à 1) et que la mantisse n'est pas nulle, alors c'est Si l'exposant vaut sa valeur maximale et que la mantisse est nulle, alors c'est Si l'exposant décalé vaut 0 et que la mantisse est nulle, alors c'est Si l'exposant décalé vaut 0 et que la mantisse n'est pas nulle, alors c'est un Un petit tableau pour récapituler tout ça de manière visuelle (pour un À titre informatif, je vous mets aussi le tableau équivalent pour un Notez que pour passer d'un nombre positif à son équivalent négatif, il suffit d'additionner 0x 8000 0000 à sa représentation en mémoire (ou 0x 8000 0000 0000 0000 s'il s'agit d'un Courage, cette partie théorique n'est pas encore finie, et peut-être que vous trouvez ça barbant, mais ça nous servira pour la suite.Nous allons maintenant nous attarder sur les nombres dénormalisés. ou plutôt son draft (n1256), disponible pages du manuel de la lib GNU C concernant les flottants (concepts, constantes fournies par Je tiens à remercier tous ceux qui ont participé à IEEE 754 : le codage en mémoire d’un nombre flottantIEEE 754 : le codage en mémoire d’un nombre flottantIEEE 754 : le codage en mémoire d’un nombre flottantIEEE 754 : le codage en mémoire d’un nombre flottant Un PC, une carte graphique avec au moins deux sorties vidéo (ou deux cartes graphiques), deux écrans. Si jamais ce n'est pas ce format que vous avez chez vous, vous ne pourrez sans doute pas la mettre en œuvre.Que signifie ce charabia ? Bon, ça va rester théorique, mais un peu moins quand même.C'est encore flou pour vous ? […] An implementation that defines The C floating types match the IEC 60559 formats as follows:The C floating types match the IEC 60559 formats as follows:Je ne parlerai pas de la suite de cette annexe, vous pouvez la lire si vous voulez (vous êtes grands). Pour des infos complètes sur l'utilisation de Une sorte de « combinaison » des formateurs précédents : utilise le premier style si le nombre n'est pas trop grand ou trop petit, le deuxième style sinon.Remarquez que tous ces formateurs attendent des flottants de type Lit un nombre à virgule flottante et l'écrit dans la variable de type Matheux, vous serez comblés : la bibliothèque standard du C met à votre disposition toute une gamme de fonctions mathématiques : valeur absolue, maximum de deux nombres, arrondis en tous sens, puissances, fonctions trigonométriques, exponentielles et logarithmes, etc.