共用方式為


浮點數基本類型

Microsoft特定基本函式,用來實作一些標準 C 運行時間連結庫 (CRT) 浮點函式。 本文記載為完整性,但不建議使用。 其中有些函式會指出為未使用,因為它們已知有精確度、例外狀況處理和 IEEE-754 行為的一致性問題。 它們只存在於連結庫中,以提供回溯相容性。 為了正確行為、可移植性和遵守標準,偏好標準浮點函式而不是這些函式。

根據預設,此函式的全域狀態會限定於應用程式。 若要變更此行為,請參閱 CRT 中的全域狀態

_dclass、 、 _ldclass_fdclass

語法

short __cdecl _dclass(double x);
short __cdecl _ldclass(long double x);
short __cdecl _fdclass(float x);

參數

x
浮點函式自變數。

備註

這些浮點基本類型會針對浮點類型實作CRT巨集 fpclassify 的 C 版本。 自變數 x 的分類會傳回為下列其中一個常數,定義於math.h:

Description
FP_NAN 無訊息、訊號或不確定的 NaN
FP_INFINITE 正或負無限大
FP_NORMAL 正或負標準化非零值
FP_SUBNORMAL 正負次正規值(反正規化) 值
FP_ZERO 正或負零值

如需詳細資訊,您可以使用Microsoft特定的 _fpclass_fpclassf 函式。 fpclassify使用巨集或函式進行可移植性。

_dsign、 、 _ldsign_fdsign

語法

int __cdecl _dsign(double x);
int __cdecl _ldsign(long double x);
int __cdecl _fdsign(float x);

參數

x
浮點函式自變數。

備註

這些浮點基本類型會在CRT中實 signbit 作巨集或函式。 如果符號位是在自變數 x的符號和mantissa 中設定,則會傳回非零值。 否則,如果未設定符號位,則會傳回 0。

_dpcomp、_ldpcomp、_fdpcomp

語法

int __cdecl _dpcomp(double x, double y);
int __cdecl _ldpcomp(long double x, long double y);
int __cdecl _fdpcomp(float x, float y);

參數

x, y
浮點函式自變數。

備註

這些浮點基本類型會採用兩個自變數 和 x y,並傳回一個值,其顯示其排序關聯性,以位或這些常數來表示於math.h 中:

Description
_FP_LT x 可視為小於 y
_FP_EQ x 可視為等於 y
_FP_GT x 可視為大於 y

這些基本類型會在CRT中實isgreater作、isgreaterequalisless、、islessequal、和 isunorderedislessgreater 巨集和函式。

_dtest、_ldtest、_fdtest

語法

short __cdecl _dtest(double* px);
short __cdecl _ldtest(long double* px);
short __cdecl _fdtest(float* px);

參數

px
浮點自變數的指標。

備註

這些浮點基本類型會針對浮點類型實作CRT fpclassify 函式C++版本。 系統會評估自變數 x ,並以math.h中定義的其中一個常數傳回分類:

Description
FP_NAN 無訊息、訊號或不確定的 NaN
FP_INFINITE 正或負無限大
FP_NORMAL 正或負標準化非零值
FP_SUBNORMAL 正負次正規值(反正規化) 值
FP_ZERO 正或負零值

如需詳細資訊,您可以使用Microsoft特定的 _fpclass_fpclassf 函式。 使用函 fpclassify 式進行可移植性。

_d_int、_ld_int、_fd_int

語法

short __cdecl _d_int(double* px, short exp);
short __cdecl _ld_int(long double* px, short exp);
short __cdecl _fd_int(float* px, short exp);

參數

px
浮點自變數的指標。

exp
指數做為整數型別。

備註

這些浮點基本類型會盡可能取得浮點值 px 和指數值的 exp指標,並盡可能移除指定指數下方浮點值的分數部分。 如果輸入值是 NaN 或無限大,則傳回的值是 中px輸入值的結果fpclassify,否則會傳回輸出值px

_dscale、_ldscale、_fdscale

語法

short __cdecl _dscale(double* px, long exp);
short __cdecl _ldscale(long double* px, long exp);
short __cdecl _fdscale(float* px, long exp);

參數

px
浮點自變數的指標。

exp
指數做為整數型別。

備註

這些浮點基本類型會盡可能取得浮點值 px 和指數值的 exp指標,並在 中 px 將值調整為 2exp。 如果輸入值是 NaN 或無限大,則傳回的值是 中px輸入值的結果fpclassify,否則會傳回輸出值px。 為了可移植性,偏好 、 ldexpfldexplldexp式。

_dunscale、_ldunscale、_fdunscale

語法

short __cdecl _dunscale(short* pexp, double* px);
short __cdecl _ldunscale(short* pexp, long double* px);
short __cdecl _fdunscale(short* pexp, float* px);

參數

pexp
以整數型別表示之指數的指標。

px
浮點自變數的指標。

備註

如果可能的話,這些浮點基本類型會將 所 px 指向的浮點值分解成正負號和指數。 正負數會縮放,讓絕對值大於或等於0.5且小於1.0。 指數是 值 n,其中原始浮點值等於縮放正負號 2n。 這個整數指數 n 會儲存在 所 pexp指向的位置。 如果輸入值是 NaN 或無限大,則傳回的值是 中px輸入值的結果fpclassify,否則會傳回輸出值。 為了可移植性,偏好 、 frexpffrexplfrexp式。

_dexp、_ldexp、_fdexp

語法

short __cdecl _dexp(double* px, double y, long exp);
short __cdecl _ldexp(long double* px, long double y, long exp);
short __cdecl _fdexp(float* px, float y, long exp);

參數

y
浮點函式自變數。

px
浮點自變數的指標。

exp
指數做為整數型別。

備註

這些浮點基本類型會以等於 y * 2exp 在指向px的位置建構浮點值。 如果輸入值是 NaN 或無限大,則傳回的值是 中y輸入值的結果fpclassify,否則會傳回輸出值px。 為了可移植性,偏好 、 ldexpfldexplldexp式。

_dnorm,_fdnorm

語法

short __cdecl _dnorm(unsigned short* ps);
short __cdecl _fdnorm(unsigned short* ps);

參數

ps
以陣列 unsigned short表示之浮點值的位表示指標。

備註

這些浮點基本類型會將下溢浮點值的分數部分正規化,並調整 特性或偏差指數以比對。 值會傳遞為浮點型別的位表示法,其會透過math.h中宣告的_double_val_ldouble_val_float_val 型別標點聯集,轉換成的陣列unsigned short。 如果輸入浮點值是 NaN 或無限大,則傳回值是輸出值的結果 fpclassify ,否則為輸出值。

_dpoly、_ldpoly、_fdpoly

語法

double __cdecl _dpoly(double x, double const* table, int n);
long double __cdecl _ldpoly(long double x, long double const* table, int n);
float __cdecl _fdpoly(float x, _float const* table, int n);

參數

x
浮點函式自變數。

table
多項式常數係數數據表的指標。

n
要評估的多項式順序。

備註

這些浮點基本類型會傳回 x 的多項式順序 n 評估,其係數是由 中的 table對應常數值表示。 例如,如果 table[0] = 3.0、 table[1] = 4.0、 table[2] = 5.0 和 n = 2,則代表多項式 5.0x 2 + 4.0x+ 3.0。 如果這個多項式評估 x 為 2.0,則結果為 31.0。 這些函式不會在內部使用。

_dlog、_dlog、_dlog

語法

double __cdecl _dlog(double x, int base_flag);
long double __cdecl _ldlog(long double x, int base_flag);
float __cdecl _fdlog(float x, int base_flag);

參數

x
浮點函式自變數。

base_flag
旗標,控制要使用的基底,0 用於基底 e ,基底 10 為非零。

備註

當 為 0 時,這些浮點基本類型會傳回 (ln(x) 或 log e(x)base_flag的自然記錄。x 當 為非零時base_flag,它們會傳回 的x記錄基底 10 或 log10(x)。 這些函式不會在內部使用。 為了可移植性,偏好函式、、logflogllog10log10f、 和 log10llog

_dsin、_ldsin、_fdsin

語法

double __cdecl _dsin(double x, unsigned int quadrant);
long double __cdecl _ldsin(long double x, unsigned int quadrant);
float __cdecl _fdsin(float x, unsigned int quadrant);

參數

x
浮點函式自變數。

quadrant
0、1、2 或 3 的象限位移,用來產生 sincos-sin-cos 結果。

備註

這些浮點基本類型會傳quadrant回模數 4 的x位移正弦值。 實際上,當模數 4 分別為 0、1、2 或 3 時quadrant,它們會傳回 的正弦、餘弦、-正弦值和餘弦x值。 這些函式不會在內部使用。 為了可移植性,偏好 sin、、sinlsinfcos、、 coslcosf 函式。

需求

標頭: <math.h>

如需相容性詳細資訊,請參閱相容性

另請參閱

數學與浮點支援
fpclassify
_fpclass, _fpclassf
isfinite、 、 _finite_finitef
isinf
isnan、 、 _isnan_isnanf
isnormal
cos、 、 cosfcosl
frexp、 、 frexpffrexpl
ldexp、 、 ldexpfldexpl
log、、logflogllog10、、log10flog10l
sin、 、 sinfsinl