共用方式為


浮點支援

許多 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 同等

abs

傳回 int 的絕對值

System::Math::Abs

acos、acosf

計算反餘弦

System::Math::Acos

asin、asinf

計算反正弦

System::Math::Asin

atan、atanf、atan2、atan2f

計算反正切

System::Math::AtanSystem::Math::Atan2

atof、_atof_l、_wtof、_wtof_l

將字元字串轉換為雙精確度浮點值

System::Convert::ToSingleSystem::Convert::ToDouble

Bessel 函式

計算 Bessel 函式 _j0、_j1、_jn、_y0、_y1、_yn

不適用。 若要呼叫標準 C 函式,請使用 PInvoke。 如需詳細資訊,請參閱平台叫用範例

_cabs

尋找複數的絕對值

不適用。

cbrt

計算立方根

不適用。

ceil、ceilf

尋找整數上限

System::Math::Ceiling

_chgsign、_chgsignf、_chgsignl

反轉雙精確度浮點值或長雙精度浮點引數的符號

不適用。

_clear87、_clearfp

取得及清除浮點狀態字組

不適用。

_control87、_controlfp、__control87_2, _controlfp_s

取得舊的浮點控制字組,並設定新的控制字組值。

不適用。

copysign、copysignf、copysignl、_copysign、_copysignf、_copysignl

以另一個符號傳回某個值

不適用。

cos、cosf、cosh、coshf

計算餘弦

System::Math::CosSystem::Math::Cosh

difftime

計算兩個指定時間值之間的差異

System::DateTime::Subtract

div

將某個整數除以另一個整數,傳回商數及餘數。

不適用。

_ecvt, _ecvt_s

將 double 轉換為指定長度的字元字串

System::Convert::ToString

exp、expf

計算指數函式

System::Math::Exp

fabs、fabsf

尋找絕對值

System::Math::Abs

_fcvt_fcvt_s

將 double 轉換為小數點後具有指定位數的字串

System::Convert::ToString

_finite

決定指定的雙精確度浮點值是否為有限

System::Double::IsInfinity

floor、floorf

尋找小於或等於引數的最大整數

System::Math::Floor

fmod、fmodf

尋找浮點餘數

System::Math::IEEERemainder

_fpclass

傳回包含浮點類別相關資訊的狀態字組

System::Double::IsInfinitySystem::Double::IsNegativeInfinitySystem::Double::IsPositiveInfinitySystem::Double::IsNan

_fpieee_flt

針對 IEEE 浮點例外狀況叫用使用者定義的設陷處理常式

不適用。

_fpreset

重新初始化浮點數學封裝

 

frexp

計算指數值

不適用。

_gcvt_gcvt_s

將浮點值轉換為字元字串

System::Convert::ToString

hypot、hypotf、hypotl、_hypot、_hypotf、_hypotl

計算直角三角形的弦

不適用。

_isnan

檢查不是數字 (NaN) 的指定雙精確度浮點值

System::Double::IsNan

labs

傳回 long 的絕對值

System::Math::Abs

ldexp

計算引數和 2exp (指定的冪) 的乘積

System::Math::Pow

ldiv

將某個 long 整數除以另一個,並傳回商數及餘數。

不適用。

log、logf、log10、log10f

計算自然對數或底數 10 的對數。

System::Math::LogSystem::Math::Log10

_logb

擷取雙精確度浮點引數的指數值

不適用。

_lrotl、_lrotr

將 unsigned long int 向左移 (_lrotl) 或向右移 (_lrotr)

不適用。

_matherr

處理數學錯誤

不適用。

__max

傳回兩個值中的較大值

System::Math::Max

__min

傳回兩個值中的較小值

System::Math::Min

modf、modff

將引數分為整數和分數部分

不適用。

nan、nanf、nanl

傳回無訊息 NaN 值

System::Double::NaN

_nextafter

傳回下一個可表示的鄰近項目

不適用。

pow、powf

計算與冪自乘的值

System::Math::Pow

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

根據指定的格式將資料寫入 stdout

System::Console::WriteSystem::Console::WriteLine

randrand_s

取得虛擬亂數

System::Random 類別

rint、rintf、rintl

四捨五入至浮點格式的最接近整數

System::Math::Round

_rotl、_rotr

將 unsigned int 向左移 (_rotl) 或向右移 (_rotr)

不適用。

_scalb

將引數依 2 的冪進位

不適用。

scalbn、scalbnf、scalbnl、scalbln、scalblnf、scalblnl

乘以 FLT_RADIX 的整數冪

不適用。

scanf、wscanfscanf_s、_scanf_s_l、wscanf_s、_wscanf_s_l

根據指定的格式讀取 stdin 的資料,並將資料寫入指定的位置。

System::Console::ReadSystem::Console::ReadLine

_set_controlfp

設定新的控制字組值

不適用。

sin、sinf、sinh、sinhf

計算正弦或雙曲正弦

System::Math::SinSystem::Math::Sinh

sqrt

尋找平方根

System::Math::Sqrt

srand

初始化虛擬隨機數列

System::Random 類別

_status87、_statusfp、_statusfp2

取得浮點狀態字組

不適用。

strtod、_strtod_l、wcstod、_wcstod_l

將字元字串轉換為雙精確度值

System::Convert::ToDouble

tan、tanf、tanh、tanhf

計算正切或雙曲正切

System::Math::TanSystem::Math::Tanh

請參閱

參考

依分類區分的執行階段常式