Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here.

Floating-Point Support 

Many Microsoft run-time library functions require floating-point support from a math coprocessor or from the floating-point libraries that accompany the compiler. Floating-point support functions are loaded only if required.

When you use a floating-point type specifier in the format string of a call to a function in the printf or scanf family, you must specify a floating-point value or a pointer to a floating-point value in the argument list to tell the compiler that floating-point support is required.

To handle floating-point exceptions, refer to the sample code in the _fpieee_flt topic.

Floating-point precision of intermediate values are controlled by the functions _control87, _controlfp, __control87_2. By default, _controlfp's precision control is set to 53 bits (_PC_53). Linking with FP10.OBJ changes the default precision control to 64 bits (_PC_64). On the linker command line, FP10.OBJ must appear before LIBC.LIB, LIBCMT.LIB, or MSVCRT.LIB.

Floating-Point Functions
Routine Use .NET Framework equivalent

abs

Return absolute value of int

System::Math::Abs

acos, acosf

Calculate arccosine

System::Math::Acos

asin, asinf

Calculate arcsine

System::Math::Asin

atan, atanf, atan2, atan2f

Calculate arctangent

System::Math::Atan, System::Math::Atan2

atof, _atof_l, _wtof, _wtof_l

Convert character string to double-precision floating-point value

System::Convert::ToSingle, System::Convert::ToDouble

Bessel functions

Calculate Bessel functions _j0, _j1, _jn, _y0, _y1, _yn

Not applicable. To call the standard C function, use PInvoke. For more information, see Platform Invoke Examples.

_cabs

Find absolute value of complex number

Not applicable.

ceil, ceilf

Find integer ceiling

System::Math::Ceiling

_chgsign, _chgsignl

Reverse sign of double-precision floating-point or long double-precision floating-point argument

Not applicable.

_clear87, _clearfp

Get and clear floating-point status word

Not applicable.

_control87, _controlfp, __control87_2, _controlfp_s

Get old floating-point control word and set new control-word value

Not applicable.

_copysign, _copysignl

Return one value with sign of another

Not applicable.

cos, cosf, cosh, coshf

Calculate cosine

System::Math::Cos, System::Math::Cosh

difftime

Compute difference between two specified time values

System::DateTime::Subtract

div

Divide one integer by another, returning quotient and remainder

Not applicable.

_ecvt, _ecvt_s

Convert double to character string of specified length

System::Convert::ToString

exp, expf

Calculate exponential function

System::Math::Exp

fabs, fabsf

Find absolute value

System::Math::Abs

_fcvt, _fcvt_s

Convert double to string with specified number of digits following decimal point

System::Convert::ToString

_finite

Determine whether given double-precision floating-point value is finite

System::Double::IsInfinity

floor, floorf

Find largest integer less than or equal to argument

System::Math::Floor

fmod, fmodf

Find floating-point remainder

System::Math::IEEERemainder

_fpclass

Return status word containing information on floating-point class

System::Double::IsInfinity, System::Double::IsNegativeInfinity, System::Double::IsPositiveInfinity, System::Double::IsNan

_fpieee_flt

Invoke user-defined trap handler for IEEE floating-point exceptions

Not applicable.

_fpreset

Reinitialize floating-point math package

 

frexp

Calculate exponential value

Not applicable.

_gcvt, _gcvt_s

Convert floating-point value to character string

System::Convert::ToString

_hypot, hypotf

Calculate hypotenuse of right triangle

Not applicable.

_isnan

Check given double-precision floating-point value for not a number (NaN)

System::Double::IsNan

labs

Return absolute value of long

System::Math::Abs

ldexp

Calculate product of argument and 2 to specified power

System::Math::Pow

ldiv

Divide one long integer by another, returning quotient and remainder

Not applicable.

log, logf, log10, log10f

Calculate natural or base-10 logarithm.

System::Math::Log, System::Math::Log10

_logb

Extract exponential value of double-precision floating-point argument

Not applicable.

_lrotl, _lrotr

Shift unsigned long int left (_lrotl) or right (_lrotr)

Not applicable.

_matherr

Handle math errors

Not applicable.

__max

Return larger of two values

System::Math::Max

__min

Return smaller of two values

System::Math::Min

modf, modff

Split argument into integer and fractional parts

Not applicable.

_nextafter

Return next representable neighbor

Not applicable.

pow, powf

Calculate value raised to a power

System::Math::Pow

printf, _printf_l, wprintf, _wprintf_l, printf_s, _printf_s_l, wprintf_s, _wprintf_s_l

Write data to stdout according to specified format

System::Console::Write, System::Console::WriteLine

rand, rand_s

Get pseudorandom number

System::Random Class

_rotl, _rotr

Shift unsigned int left (_rotl) or right (_rotr)

Not applicable.

_scalb

Scale argument by power of 2

Not applicable.

scanf, wscanf, scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l

Read data from stdin according to specified format and write data to specified location

System::Console::Read, System::Console::ReadLine

_set_controlfp

set new control-word value

Not applicable.

sin, sinf, sinh, sinhf

Calculate sine or hyperbolic sine

System::Math::Sin, System::Math::Sinh

sqrt

Find square root

System::Math::Sqrt

srand

Initialize pseudorandom series

System::Random Class

_status87, _statusfp, _statusfp2

Get floating-point status word

Not applicable.

strtod, _strtod_l, wcstod, _wcstod_l

Convert character string to double-precision value

System::Convert::ToDouble

tan, tanf, tanh, tanhf

Calculate tangent or hyperbolic tangent

System::Math::Tan, System::Math::Tanh

Community Additions

ADD
Show:
© 2015 Microsoft