Compatibilidad con el punto flotante

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Muchas de las funciones de biblioteca en tiempo de ejecución de Microsoft requieren compatibilidad de punto flotante por parte de un coprocesador matemático o de las bibliotecas de punto flotante que acompañan al compilador. Las funciones de compatibilidad de punto flotante se cargan únicamente si son necesarias.

Cuando se usa un especificador de tipo de punto flotante en la cadena de formato de una llamada a una función de la familia printf o scanf, se debe especificar un valor de punto flotante o un puntero a un valor de punto flotante en la lista de argumentos para indicar al compilador que es necesario admitir puntos flotantes.

Consulte _fpieee_flt para ver código de ejemplo que muestre cómo controlar excepciones de punto flotante.

La precisión del punto flotante en los valores intermedios se controla por medio de las funciones _control87, _controlfp, __control87_2. El control de precisión en _controlfp está establecido de forma predeterminada en 53 bits (_PC_53). Si se vincula mediante FP10.OBJ, el control de precisión predeterminado cambia a 64 bits (_PC_64). En la línea de comandos del vinculador, FP10.OBJ debe aparecer antes de LIBC.LIB, LIBCMT.LIB o MSVCRT.LIB.

Funciones de punto flotante

RutinaUsoEquivalente de .NET Framework
absDevolver el valor absoluto de int<caps:sentence id="tgt14" sentenceid="9594ba199e25e9de6b463c8efc9fbe95" class="tgtSentence">System::Math::Abs</caps:sentence>
acos, acosfCalcular el arco coseno<caps:sentence id="tgt17" sentenceid="954a441495360a1fa8b0170297b2ff38" class="tgtSentence">System::Math::Acos</caps:sentence>
asin, asinfCalcular el arcoseno<caps:sentence id="tgt20" sentenceid="313917cde9698a0924536719f5bece25" class="tgtSentence">System::Math::Asin</caps:sentence>
atan, atanf, atan2, atan2fCalcular el arcotangenteSystem::Math::Atan, System::Math::Atan2
atof, _atof_l, _wtof, _wtof_lConvertir la cadena de caracteres en un valor de punto flotante de precisión dobleSystem::Convert::ToSingle, System::Convert::ToDouble
Funciones BesselCalcular las funciones Bessel _j0, _j1, _jn, _y0, _y1, _ynNo es aplicable. Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Platform Invoke Examples.
_cabsHallar el valor absoluto de un número complejoNo es aplicable.
cbrtCalcular la raíz cúbicaNo es aplicable.
ceil, ceilfHallar el techo de un entero<caps:sentence id="tgt39" sentenceid="656009d71fb974368bded363746de018" class="tgtSentence">System::Math::Ceiling</caps:sentence>
_chgsign, _chgsignf, _chgsignlInvertir el signo de punto flotante de precisión doble o el argumento de punto flotante de precisión doble largaNo es aplicable.
_clear87, _clearfpObtener y borrar la palabra de estado de punto flotanteNo es aplicable.
_control87, _controlfp, __control87_2, _controlfp_sObtener la palabra de control de punto flotante anterior y definir el nuevo valor de palabra de controlNo es aplicable.
copysign, copysignf, copysignl, _copysign, _copysignf, _copysignlDevolver un valor con el signo de otroNo es aplicable.
cos, cosf, cosh, coshfCalcular el cosenoSystem::Math::Cos, System::Math::Cosh
difftimeCalcular la diferencia entre dos valores de hora especificados<caps:sentence id="tgt54" sentenceid="5f4f365a3cd7f368db2f6ce31b797fdf" class="tgtSentence">System::DateTime::Subtract</caps:sentence>
divDividir un entero entre otro, de lo cual se obtiene un cociente y un restoNo es aplicable.
_ecvt, _ecvt_sConvertir double en una cadena de caracteres de la longitud especificada<caps:sentence id="tgt60" sentenceid="ed8e24ad5c647dc4efa4fbe1e9bbc5e3" class="tgtSentence">System::Convert::ToString</caps:sentence>
exp, expfCalcular la función exponencial<caps:sentence id="tgt63" sentenceid="81a65df6ac66cdc4a4b12c2f7e555487" class="tgtSentence">System::Math::Exp</caps:sentence>
fabs, fabsfHallar el valor absoluto<caps:sentence id="tgt66" sentenceid="9594ba199e25e9de6b463c8efc9fbe95" class="tgtSentence">System::Math::Abs</caps:sentence>
_fcvt, _fcvt_sConvertir double en una cadena que tenga el número especificado de dígitos después del separador decimal<caps:sentence id="tgt69" sentenceid="ed8e24ad5c647dc4efa4fbe1e9bbc5e3" class="tgtSentence">System::Convert::ToString</caps:sentence>
_finiteAveriguar si el valor de punto flotante de precisión doble dado es finito<caps:sentence id="tgt72" sentenceid="8d081c50adeda3dde4cebab81a0b3583" class="tgtSentence">System::Double::IsInfinity</caps:sentence>
floor, floorfHallar el entero más grande igual o menor que el argumento<caps:sentence id="tgt75" sentenceid="609db9ab0433b647d5350d3b965d70f9" class="tgtSentence">System::Math::Floor</caps:sentence>
fmod, fmodfHallar el resto del punto flotante<caps:sentence id="tgt78" sentenceid="127a04426267ccb17fb4b566ad56de9c" class="tgtSentence">System::Math::IEEERemainder</caps:sentence>
_fpclassDevolver la palabra de estado que contiene información sobre la clase de punto flotanteSystem::Double::IsInfinity, System::Double::IsNegativeInfinity, System::Double::IsPositiveInfinity, System::Double::IsNan
_fpieee_fltInvocar un controlador de interceptaciones definido por el usuario para las excepciones de punto flotante del IEEENo es aplicable.
_fpresetReinicializar el paquete matemático de punto flotante
frexpCalcular el valor exponencialNo es aplicable.
_gcvt, _gcvt_sConvertir el valor de punto flotante en una cadena de caracteres<caps:sentence id="tgt92" sentenceid="ed8e24ad5c647dc4efa4fbe1e9bbc5e3" class="tgtSentence">System::Convert::ToString</caps:sentence>
hypot, hypotf, hypotl, _hypot, _hypotf, _hypotlCalcular la hipotenusa de un triángulo rectánguloNo es aplicable.
_isnanBuscar elementos NaN (que no son números) en el valor de punto flotante de precisión doble dado<caps:sentence id="tgt97" sentenceid="18f7dc07d0c506c23f2f7eb89262d274" class="tgtSentence">System::Double::IsNan</caps:sentence>
labsDevolver el valor absoluto de long<caps:sentence id="tgt100" sentenceid="9594ba199e25e9de6b463c8efc9fbe95" class="tgtSentence">System::Math::Abs</caps:sentence>
ldexpCalcular el producto del argumento y 2exp (potencia especificada)<caps:sentence id="tgt103" sentenceid="839e85fe5fb98e8520d40a703d06932b" class="tgtSentence">System::Math::Pow</caps:sentence>
ldivDividir un entero long entre otro, de lo cual se obtiene un cociente y un restoNo es aplicable.
log, logf, log10, log10fCalcular el logaritmo natural o de base 10.System::Math::Log, System::Math::Log10
_logbExtraer el valor exponencial del argumento de punto flotante de precisión dobleNo es aplicable.
_lrotl, _lrotrDesplazar unsigned long int a la izquierda (_lrotl) o a la derecha (_lrotr)No es aplicable.
_matherrTratar errores matemáticosNo es aplicable.
__maxDevolver el valor más alto de dos valores<caps:sentence id="tgt121" sentenceid="6f9dcb228534c3e5b0013615b2b1d003" class="tgtSentence">System::Math::Max</caps:sentence>
__minDevolver el valor más bajo de dos valores<caps:sentence id="tgt124" sentenceid="ff471983fc666dec7ba58b17a0bf76e6" class="tgtSentence">System::Math::Min</caps:sentence>
modf, modffDividir el argumento en entero y fracciónNo es aplicable.
nan, nanf, nanlDevolver un valor NaN reservado<caps:sentence id="tgt129" sentenceid="c251043405ffa73fe857c83428b58fdc" class="tgtSentence">System::Double::NaN</caps:sentence>
_nextafterDevolver el siguiente elemento cercano representableNo es aplicable.
pow, powfCalcular el valor elevado a una potencia<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_lEscribir datos en stdout según el formato especificadoSystem::Console::Write, System::Console::WriteLine
rand, rand_sObtener el número seudoaleatorio<caps:sentence id="tgt141" sentenceid="00574fde17be9de3e07567ef5abe0110" class="tgtSentence">System::Random Class</caps:sentence>
rint, rintf, rintlRedondear al entero más cercano en el formato de punto flotante<caps:sentence id="tgt143" sentenceid="1c04aeb4aeff1752cb65adabcee29f53" class="tgtSentence">System::Math::Round</caps:sentence>
_rotl, _rotrDesplazar unsigned int a la izquierda (_rotl) o a la derecha (_rotr)No es aplicable.
_scalbEscalar el argumento por una potencia de 2No es aplicable.
scalbn, scalbnf, scalbnl, scalbln, scalblnf, scalblnlMultiplicar por la potencia integral de FLT_RADIXNo es aplicable.
scanf, wscanf, scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_lLeer datos de stdin según el formato especificado y escribir datos en la ubicación especificadaSystem::Console::Read, System::Console::ReadLine
_set_controlfpEstablecer un nuevo valor de palabra de controlNo es aplicable.
sin, sinf, sinh, sinhfCalcular el seno y seno hiperbólicoSystem::Math::Sin, System::Math::Sinh
sqrtHallar la raíz cuadrada<caps:sentence id="tgt162" sentenceid="1a91af0bd8c63b4be64c7a0bec8dc8c4" class="tgtSentence">System::Math::Sqrt</caps:sentence>
srandInicializar series seudoaleatorias<caps:sentence id="tgt165" sentenceid="00574fde17be9de3e07567ef5abe0110" class="tgtSentence">System::Random Class</caps:sentence>
_status87, _statusfp, _statusfp2Obtener la palabra de estado de punto flotanteNo es aplicable.
strtod, _strtod_l, wcstod, _wcstod_lConvertir la cadena de caracteres en un valor de precisión doble<caps:sentence id="tgt169" sentenceid="363f8f2cb09f8ca850491a65df66522e" class="tgtSentence">System::Convert::ToDouble</caps:sentence>
tan, tanf, tanh, tanhfCalcular la tangente y la tangente hiperbólicaSystem::Math::Tan, System::Math::Tanh

Rutinas de tiempo de ejecución por categoría

Mostrar: