Prise en charge de la virgule flottante

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

De nombreuses fonctions de la bibliothèque Runtime de Microsoft requièrent la prise en charge de la virgule flottante par un coprocesseur mathématique ou par des bibliothèques de virgules flottantes qui accompagnent le compilateur. Les fonctions prenant en charge les virgules flottantes sont chargées uniquement si nécessaire.

Quand vous utilisez un spécificateur de type virgule flottante dans la chaîne de format d'un appel à une fonction dans la famille printf ou scanf, vous devez spécifier une valeur à virgule flottante ou un pointeur vers une valeur à virgule flottante dans la liste d'arguments pour indiquer au compilateur que la prise en charge de la virgule flottante est requise.

Pour obtenir un exemple de code qui montre comment gérer les exceptions de virgule flottante, voir _fpieee_flt.

La précision virgule flottante des valeurs intermédiaires est contrôlée par les fonctions _control87, _controlfp, __control87_2. Par défaut, le contrôle de précision dans _controlfp a la valeur 53 bits (_PC_53). Une liaison à l'aide de FP10.OBJ remplace le contrôle de précision par défaut par 64 bits (_PC_64). Sur la ligne de commande de l'éditeur de liens, FP10.OBJ doit apparaître avant LIBC.LIB, LIBCMT.LIB ou MSVCRT.LIB.

Fonctions à virgule flottante

RoutineUtilisationÉquivalent .NET Framework
absRetourner la valeur absolue de int<caps:sentence id="tgt14" sentenceid="9594ba199e25e9de6b463c8efc9fbe95" class="tgtSentence">System::Math::Abs</caps:sentence>
acos, acosfCalculer l'arc cosinus<caps:sentence id="tgt17" sentenceid="954a441495360a1fa8b0170297b2ff38" class="tgtSentence">System::Math::Acos</caps:sentence>
asin, asinfCalculer l'arc sinus<caps:sentence id="tgt20" sentenceid="313917cde9698a0924536719f5bece25" class="tgtSentence">System::Math::Asin</caps:sentence>
atan, atanf, atan2, atan2fCalculer l'arc tangenteSystem::Math::Atan, System::Math::Atan2
atof, _atof_l, _wtof, _wtof_lConvertir une chaîne de caractères en valeur à virgule flottante double précisionSystem::Convert::ToSingle, System::Convert::ToDouble
Fonctions de BesselCalculer les fonctions de Bessel _j0, _j1, _jn, _y0, _y1, _ynNon applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, voir Platform Invoke Examples.
_cabsTrouver la valeur absolue du nombre complexeNon applicable.
cbrtCalculer la racine cubiqueNon applicable.
ceil, ceilfTrouver la valeur plafond de l'entier<caps:sentence id="tgt39" sentenceid="656009d71fb974368bded363746de018" class="tgtSentence">System::Math::Ceiling</caps:sentence>
_chgsign, _chgsignf, _chgsignlInverser le signe de l'argument à virgule flottante double précision ou à virgule flottante double précision longNon applicable.
_clear87, _clearfpObtenir et effacer le mot d'état à virgule flottanteNon applicable.
_control87, _controlfp, __control87_2, _controlfp_sObtenir l'ancien mot de contrôle à virgule flottante et définir la nouvelle valeur du mot de contrôleNon applicable.
copysign, copysignf, copysignl, _copysign, _copysignf, _copysignlRetourner une valeur avec le signe d'une autreNon applicable.
cos, cosf, cosh, coshfCalculer le cosinusSystem::Math::Cos, System::Math::Cosh
difftimeCalculer la différence entre deux valeurs d'heure spécifiées<caps:sentence id="tgt54" sentenceid="5f4f365a3cd7f368db2f6ce31b797fdf" class="tgtSentence">System::DateTime::Subtract</caps:sentence>
divDiviser un entier par un autre, en retournant le quotient et le resteNon applicable.
_ecvt, _ecvt_sConvertir double en chaine de caractères de longueur spécifiée<caps:sentence id="tgt60" sentenceid="ed8e24ad5c647dc4efa4fbe1e9bbc5e3" class="tgtSentence">System::Convert::ToString</caps:sentence>
exp, expfCalculer la fonction exponentielle<caps:sentence id="tgt63" sentenceid="81a65df6ac66cdc4a4b12c2f7e555487" class="tgtSentence">System::Math::Exp</caps:sentence>
fabs, fabsfTrouver la valeur absolue<caps:sentence id="tgt66" sentenceid="9594ba199e25e9de6b463c8efc9fbe95" class="tgtSentence">System::Math::Abs</caps:sentence>
_fcvt, _fcvt_sConvertir double en chaîne avec le nombre spécifié de chiffres après la virgule décimale<caps:sentence id="tgt69" sentenceid="ed8e24ad5c647dc4efa4fbe1e9bbc5e3" class="tgtSentence">System::Convert::ToString</caps:sentence>
_finiteDéterminer si la valeur à virgule flottante double précision donnée est finie<caps:sentence id="tgt72" sentenceid="8d081c50adeda3dde4cebab81a0b3583" class="tgtSentence">System::Double::IsInfinity</caps:sentence>
floor, floorfTrouver le plus grand entier inférieur ou égal à l'argument<caps:sentence id="tgt75" sentenceid="609db9ab0433b647d5350d3b965d70f9" class="tgtSentence">System::Math::Floor</caps:sentence>
fmod, fmodfTrouver le reste à virgule flottante<caps:sentence id="tgt78" sentenceid="127a04426267ccb17fb4b566ad56de9c" class="tgtSentence">System::Math::IEEERemainder</caps:sentence>
_fpclassRetourner le mot d'état contenant des informations sur la classe à virgule flottanteSystem::Double::IsInfinity, System::Double::IsNegativeInfinity, System::Double::IsPositiveInfinity, System::Double::IsNan
_fpieee_fltAppeler un gestionnaire d'interruptions défini par l'utilisateur pour les exceptions à virgule flottante IEEENon applicable.
_fpresetRéinitialiser le package mathématique à virgule flottante
frexpCalculer la valeur exponentielleNon applicable.
_gcvt, _gcvt_sConvertir une valeur à virgule flottante en chaîne de caractères<caps:sentence id="tgt92" sentenceid="ed8e24ad5c647dc4efa4fbe1e9bbc5e3" class="tgtSentence">System::Convert::ToString</caps:sentence>
hypot, hypotf, hypotl, _hypot, _hypotf, _hypotlCalculer l'hypoténuse du triangle rectangleNon applicable.
_isnanRechercher une valeur non numérique (NaN) dans la valeur à virgule flottante double précision donnée<caps:sentence id="tgt97" sentenceid="18f7dc07d0c506c23f2f7eb89262d274" class="tgtSentence">System::Double::IsNan</caps:sentence>
labsRetourner la valeur absolue de long<caps:sentence id="tgt100" sentenceid="9594ba199e25e9de6b463c8efc9fbe95" class="tgtSentence">System::Math::Abs</caps:sentence>
ldexpCalculer le produit de l'argument et de 2exp (puissance spécifiée)<caps:sentence id="tgt103" sentenceid="839e85fe5fb98e8520d40a703d06932b" class="tgtSentence">System::Math::Pow</caps:sentence>
ldivDiviser un entier long par un autre, en retournant le quotient et le resteNon applicable.
log, logf, log10, log10fCalculer le logarithme naturel ou en base 10System::Math::Log, System::Math::Log10
_logbExtraire la valeur exponentielle de l'argument à virgule flottante double précisionNon applicable.
_lrotl, _lrotrDécaler unsigned long int vers la gauche (_lrotl) ou la droite (_lrotr)Non applicable.
_matherrGérer les erreurs mathématiquesNon applicable.
__maxRetourner la plus grande de deux valeurs<caps:sentence id="tgt121" sentenceid="6f9dcb228534c3e5b0013615b2b1d003" class="tgtSentence">System::Math::Max</caps:sentence>
__minRetourner la plus petite de deux valeurs<caps:sentence id="tgt124" sentenceid="ff471983fc666dec7ba58b17a0bf76e6" class="tgtSentence">System::Math::Min</caps:sentence>
modf, modffDiviser l'argument en un entier et une partie fractionnaireNon applicable.
nan, nanf, nanlRetourner une valeur NaN silencieuse<caps:sentence id="tgt129" sentenceid="c251043405ffa73fe857c83428b58fdc" class="tgtSentence">System::Double::NaN</caps:sentence>
_nextafterRetourner le prochain voisin représentableNon applicable.
pow, powfCalculer la valeur élevée à une puissance<caps:sentence id="tgt135" sentenceid="839e85fe5fb98e8520d40a703d06932b" class="tgtSentence">System::Math::Pow</caps:sentence>
printf, _printf_l, wprintf, _wprintf_l, printf_s, _printf_s_l, wprintf_s, _wprintf_s_lÉcrire les données dans stdout selon le format spécifiéSystem::Console::Write, System::Console::WriteLine
rand, rand_sObtenir un nombre pseudo-aléatoire<caps:sentence id="tgt141" sentenceid="00574fde17be9de3e07567ef5abe0110" class="tgtSentence">System::Random Class</caps:sentence>
rint, rintf, rintlArrondir à l'entier le plus proche au format à virgule flottante<caps:sentence id="tgt143" sentenceid="1c04aeb4aeff1752cb65adabcee29f53" class="tgtSentence">System::Math::Round</caps:sentence>
_rotl, _rotrDécaler unsigned int vers la gauche (_rotl) ou la droite (_rotr)Non applicable.
_scalbMettre à l'échelle l'argument à la puissance 2Non applicable.
scalbn, scalbnf, scalbnl, scalbln, scalblnf, scalblnlMultiplier par la puissance intégrale de FLT_RADIXNon applicable.
scanf, wscanf, scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_lLire les données dans stdin selon le format spécifié et écrire les données à l'emplacement spécifiéSystem::Console::Read, System::Console::ReadLine
_set_controlfpDéfinir une nouvelle valeur de mot de contrôleNon applicable.
sin, sinf, sinh, sinhfCalculer le sinus ou le sinus hyperboliqueSystem::Math::Sin, System::Math::Sinh
sqrtTrouver la racine carrée<caps:sentence id="tgt162" sentenceid="1a91af0bd8c63b4be64c7a0bec8dc8c4" class="tgtSentence">System::Math::Sqrt</caps:sentence>
srandInitialiser des séries pseudo-aléatoires<caps:sentence id="tgt165" sentenceid="00574fde17be9de3e07567ef5abe0110" class="tgtSentence">System::Random Class</caps:sentence>
_status87, _statusfp, _statusfp2Obtenir le mot d'état à virgule flottanteNon applicable.
strtod, _strtod_l, wcstod, _wcstod_lConvertir une chaîne de caractères en valeur double précision<caps:sentence id="tgt169" sentenceid="363f8f2cb09f8ca850491a65df66522e" class="tgtSentence">System::Convert::ToDouble</caps:sentence>
tan, tanf, tanh, tanhfCalculer la tangente ou la tangente hyperboliqueSystem::Math::Tan, System::Math::Tanh

Routines runtime par catégorie

Afficher: