浮點支援
許多 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 的絕對值 |
||
計算反餘弦 |
||
計算反正弦 |
||
計算反正切 |
||
將字元字串轉換為雙精確度浮點值 |
||
計算 Bessel 函式 _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) |
不適用。 |
|
處理數學錯誤 |
不適用。 |
|
傳回兩個值中的較大值 |
||
傳回兩個值中的較小值 |
||
將引數分為整數和分數部分 |
不適用。 |
|
傳回無訊息 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 的資料,並將資料寫入指定的位置。 |
||
設定新的控制字組值 |
不適用。 |
|
計算正弦或雙曲正弦 |
||
尋找平方根 |
||
初始化虛擬隨機數列 |
||
取得浮點狀態字組 |
不適用。 |
|
將字元字串轉換為雙精確度值 |
||
計算正切或雙曲正切 |