Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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 | 
|---|---|---|
| Return absolute value of int | ||
| Calculate arccosine | ||
| Calculate arcsine | ||
| Calculate arctangent | ||
| Convert character string to double-precision floating-point value | ||
| 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. | |
| Find absolute value of complex number | Not applicable. | |
| Find integer ceiling | ||
| Reverse sign of double-precision floating-point or long double-precision floating-point argument | Not applicable. | |
| Get and clear floating-point status word | Not applicable. | |
| Get old floating-point control word and set new control-word value | Not applicable. | |
| Return one value with sign of another | Not applicable. | |
| Calculate cosine | ||
| Compute difference between two specified time values | ||
| Divide one integer by another, returning quotient and remainder | Not applicable. | |
| Convert double to character string of specified length | ||
| Calculate exponential function | ||
| Find absolute value | ||
| Convert double to string with specified number of digits following decimal point | ||
| Determine whether given double-precision floating-point value is finite | ||
| Find largest integer less than or equal to argument | ||
| Find floating-point remainder | ||
| Return status word containing information on floating-point class | System::Double::IsInfinity, System::Double::IsNegativeInfinity, System::Double::IsPositiveInfinity, System::Double::IsNan | |
| Invoke user-defined trap handler for IEEE floating-point exceptions | Not applicable. | |
| Reinitialize floating-point math package | 
 | |
| Calculate exponential value | Not applicable. | |
| Convert floating-point value to character string | ||
| Calculate hypotenuse of right triangle | Not applicable. | |
| Check given double-precision floating-point value for not a number (NaN) | ||
| Return absolute value of long | ||
| Calculate product of argument and 2 to specified power | ||
| Divide one long integer by another, returning quotient and remainder | Not applicable. | |
| Calculate natural or base-10 logarithm. | ||
| Extract exponential value of double-precision floating-point argument | Not applicable. | |
| Shift unsigned long int left (_lrotl) or right (_lrotr) | Not applicable. | |
| Handle math errors | Not applicable. | |
| Return larger of two values | ||
| Return smaller of two values | ||
| Split argument into integer and fractional parts | Not applicable. | |
| Return next representable neighbor | Not applicable. | |
| Calculate value raised to a power | ||
| printf, _printf_l, wprintf, _wprintf_l, printf_s, _printf_s_l, wprintf_s, _wprintf_s_l | Write data to stdout according to specified format | |
| Get pseudorandom number | ||
| Shift unsigned int left (_rotl) or right (_rotr) | Not applicable. | |
| Scale argument by power of 2 | Not applicable. | |
| Read data from stdin according to specified format and write data to specified location | ||
| set new control-word value | Not applicable. | |
| Calculate sine or hyperbolic sine | ||
| Find square root | ||
| Initialize pseudorandom series | ||
| Get floating-point status word | Not applicable. | |
| Convert character string to double-precision value | ||
| Calculate tangent or hyperbolic tangent |