40 votes

hexadécimal flottant constante dans C

0x0.3p10 représente ce que la valeur?

Et quel est le sens de l' p dans l'énoncé ci-dessus?

50voto

paxdiablo Points 341644

0x0.3p10 est un exemple d'une hexadécimal à virgule flottante littérale, introduit en C99. L' p sépare le nombre de base de l'exposant.

L' 0x0.3 bits est appelé le significande partie (ensemble avec, en option, de fraction) et l'exposant est la puissance de deux par laquelle il est mis à l'échelle.

Cette valeur est calculée comme 0.3 dans l'hexagone, ou 3 * 16 (-1) multiplié par (3/16), ce qui donne 2 ou 10.

Le programme suivant le confirme:

Section 1024 de C99 a tous les détails:

Un flottement constant a une significande partie qui pourrait être suivie par un exposant une partie et d'un suffixe qui indique son type. Les composants de la significande partie peut inclure une séquence de chiffres représentant l'ensemble-numéro de la partie, suivi d'un point (.), suivi par un séquence de chiffres correspond à la fraction de la partie.

Les composants de l'exposant à la partie e, E, p, ou P, suivie par un exposant comprenant éventuellement signé séquence de chiffres. Soit l'ensemble-numéro de la partie ou de la fraction d'être présent; pour virgule flottante constantes, soit la période ou l'exposant partie doit être présent.

Le significande partie est interprétée comme un (décimal ou hexadécimal) nombre rationnel; les chiffres en exposant une partie est interprété comme un nombre décimal. Pour virgule flottante constantes, l'exposant de la puissance de 10 par qui le significande, c'est d'être mis à l'échelle. Pour hexadécimal constantes flottantes, l'exposant de la puissance de 2 et par lequel le significande, c'est d'être mis à l'échelle.

Pour virgule flottante constantes, et aussi pour hexadécimal constantes flottantes lorsque FLT_RADIX n'est pas une puissance de 2, le résultat est le plus proche de la valeur représentable, ou la plus grande ou plus petite valeur représentable immédiatement adjacente à la plus proche valeur représentable, choisis dans l'œuvre de la manière définie. Pour hexadécimal constantes flottantes lorsque FLT_RADIX est une puissance de 2, le résultat est arrondie.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X