浮点支持
许多 Microsoft 运行时库函数都需要数学协处理器或伴随编译器的浮点库中的浮点支持。 仅在需要时加载浮点支持函数。
当你使用对 printf 或 scanf 系列中某个函数的调用的格式字符串中的浮点类型说明符时,你必须指定浮点值或指向参数列表中的浮点值的指针,以告知编译器需要浮点支持。
有关显示如何处理浮点异常的示例代码,请参阅 _fpieee_flt。
由 _control87、_controlfp、__control87_2 函数控制的中间值的浮点精度。 默认情况下,将 _controlfp 中的精度控制设置为 53 位 (_PC_53)。 使用 FP10.OBJ 进行链接会将默认精度控制更改为 64 位 (_PC_64)。 在链接器命令行上,FP10.OBJ 必须显示在 LIBC.LIB、LIBCMT.LIB 或 MSVCRT.LIB 之前。
浮点函数
例程 |
使用 |
.NET Framework 等效项 |
---|---|---|
返回 int 的绝对值 |
||
计算反余弦 |
||
计算反正弦 |
||
计算反正切 |
||
将字符字符串转换为双精度浮点值 |
||
计算贝塞尔函数 _j0、_j1、_jn、_y0、_y1、_yn |
不适用。 若要调用标准 C 函数,请使用 PInvoke。 有关详细信息,请参见平台调用示例。 |
|
查找复数的绝对值 |
不适用。 |
|
计算立方根 |
不适用。 |
|
查找整数上限 |
||
反转双精度浮点或长双精度浮点参数的符号 |
不适用。 |
|
获取和清除浮点状态字 |
不适用。 |
|
获取旧的浮点控制字并设置新的控制字值 |
不适用。 |
|
copysign、copysignf、copysignl、_copysign、_copysignf、_copysignl |
返回一个具有另一个值的符号的值 |
不适用。 |
计算余弦 |
||
计算两个指定的时间值之间的差值 |
||
将一个整数除以另一个整数,从而返回商和余数 |
不适用。 |
|
将 double 转换为指定长度的字符字符串 |
||
计算指数函数 |
||
查找绝对值 |
||
将 double 转换为具有小数点后指定位数的字符串 |
||
确定给定的双精度浮点值是否是有限的 |
||
查找小于或等于参数的最大整数 |
||
查找浮点余数 |
||
返回包含有关浮点类的信息的状态字 |
System::Double::IsInfinity、System::Double::IsNegativeInfinity、System::Double::IsPositiveInfinity、System::Double::IsNan |
|
为 IEEE 浮点异常调用用户定义的陷阱处理程序 |
不适用。 |
|
重新初始化浮点数学包 |
|
|
计算指数值 |
不适用。 |
|
将浮点值转换为字符字符串 |
||
计算直角三角形的斜边 |
不适用。 |
|
检查非数值 (NaN) 的给定双精度浮点值 |
||
返回 long 的绝对值 |
||
计算参数和 2exp(指定的幂)的结果 |
||
将一个 long 整数除以另一个整数,然后返回商和余数 |
不适用。 |
|
计算自然对数或以 10 为底的对数。 |
||
提取双精度浮点参数的指数值 |
不适用。 |
|
将 unsigned long int 向左 (_lrotl) 或向右 (_lrotr) 移位 |
不适用。 |
|
处理数学错误 |
不适用。 |
|
返回两个值中较大的一个 |
||
返回两个值中较小的一个 |
||
将参数拆分为整数部分和分数部分 |
不适用。 |
|
返回 quiet NaN 值 |
||
返回下一个可表示的邻近值 |
不适用。 |
|
计算乘幂的值 |
||
printf、_printf_l、wprintf、_wprintf_l, printf_s、_printf_s_l、wprintf_s、_wprintf_s_l |
根据指定格式将数据写入 stdout |
|
获取伪随机数 |
||
舍入到最接近的整数(采用浮点格式) |
||
将 unsigned int 向左 (_rotl) 或向右 (_rotr) 移位 |
不适用。 |
|
以 2 的幂缩放参数 |
不适用。 |
|
乘以 FLT_RADIX 的整数幂 |
不适用。 |
|
按照指定的格式从 stdin 中读取数据并将数据写入指定的位置 |
||
设置新的控制字值 |
不适用。 |
|
计算正弦或双曲正弦 |
||
计算平方根 |
||
初始化伪随机序列 |
||
获取浮点状态字 |
不适用。 |
|
将字符字符串转换为双精度值 |
||
计算正切或双曲正切 |