c语言L文件,frexpl - [ C语言中文开发手册 ] - 在线原生手册 - php中文网
在頭文件中定義float frexpf(float arg,int * exp);(1)(自C99以來(lái))
double frexp(double arg,int * exp);(2)
long double frexpl(long double arg,int * exp);(3)(自C99以來(lái))
在頭文件中定義
#define frexp(arg,exp)(4)(自C99以來(lái))
1-3)將給定浮點(diǎn)值x分解為歸一化分?jǐn)?shù)和2的整數(shù)冪。
4)類型 - 通用宏:如果arg的類型為long double,則調(diào)用frexpl。 否則,如果arg具有整數(shù)類型或類型double,則調(diào)用frexp。 否則,分別調(diào)用frexpf。
參數(shù)
ARG-浮點(diǎn)值EXP-指向整數(shù)值以存儲(chǔ)指數(shù)的指針
函數(shù)frexp及其雙重ldexp可用于操縱浮點(diǎn)數(shù)的表示,而無(wú)需直接位操作。
例
否則(如果arg不為零),如果沒(méi)有發(fā)生錯(cuò)誤,則返回范圍(-1; -0.5],[0.5; 1)中的值x并將* exp中的整數(shù)值存儲(chǔ)為x×2(* exp)
#include?#include?#include?
int?main(void){
double?f?=?123.45;????printf("Given?the?number?%.2f?or?%a?in?hex,\n",?f,?f);
double?f3;
double?f2?=?modf(f,?&f3);????printf("modf()?makes?%.0f?+?%.2f\n",?f3,?f2);
int?i;
f2?=?frexp(f,?&i);????printf("frexp()?makes?%f?*?2^%d\n",?f2,?i);
i?=?ilogb(f);????printf("logb()/ilogb()?make?%f?*?%d^%d\n",?f/scalbn(1.0,?i),?FLT_RADIX,?i);}
如果要存儲(chǔ)在* exp中的值超出int范圍,則行為未指定。
可能的輸出:
錯(cuò)誤處理
Given?the?number?123.45?or?0x1.edccccccccccdp+6?in?hex,modf()?makes?123?+?0.45frexp()?makes?0.964453?*?2^7logb()/ilogb()?make?1.92891?*?2^6
如果實(shí)現(xiàn)支持IEEE浮點(diǎn)運(yùn)算(IEC 60559),
參考
C11標(biāo)準(zhǔn)(ISO / IEC 9899:2011):7.12.6.4 frexp函數(shù)(p:243)
7.25類型通用數(shù)學(xué)(p:373-375)
F.10.3.4 frexp函數(shù)(p:521)
C99標(biāo)準(zhǔn)(ISO / IEC 9899:1999):7.12.6.4 frexp函數(shù)(p:224)
7.22類型通用數(shù)學(xué)(p:335-337)
F.9.3.4 frexp函數(shù)(p:458)
C89 / C90標(biāo)準(zhǔn)(ISO / IEC 9899:1990):4.5.4.2 frexp函數(shù)
擴(kuò)展內(nèi)容
| 用于frexp的C ++文檔 |
函數(shù)frexp及其雙重ldexp可用于操縱浮點(diǎn)數(shù)的表示,而無(wú)需直接位操作。
例
#include?#include?#include?
int?main(void){
double?f?=?123.45;????printf("Given?the?number?%.2f?or?%a?in?hex,\n",?f,?f);
double?f3;
double?f2?=?modf(f,?&f3);????printf("modf()?makes?%.0f?+?%.2f\n",?f3,?f2);
int?i;
f2?=?frexp(f,?&i);????printf("frexp()?makes?%f?*?2^%d\n",?f2,?i);
i?=?ilogb(f);????printf("logb()/ilogb()?make?%f?*?%d^%d\n",?f/scalbn(1.0,?i),?FLT_RADIX,?i);}
可能的輸出:
Given?the?number?123.45?or?0x1.edccccccccccdp+6?in?hex,modf()?makes?123?+?0.45frexp()?makes?0.964453?*?2^7logb()/ilogb()?make?1.92891?*?2^6
參考
C11標(biāo)準(zhǔn)(ISO / IEC 9899:2011):7.12.6.4 frexp函數(shù)(p:243)
7.25類型通用數(shù)學(xué)(p:373-375)
F.10.3.4 frexp函數(shù)(p:521)
C99標(biāo)準(zhǔn)(ISO / IEC 9899:1999):7.12.6.4 frexp函數(shù)(p:224)
7.22類型通用數(shù)學(xué)(p:335-337)
F.9.3.4 frexp函數(shù)(p:458)
C89 / C90標(biāo)準(zhǔn)(ISO / IEC 9899:1990):4.5.4.2 frexp函數(shù)
擴(kuò)展內(nèi)容
ldexpldexpfldexpl(C99)(C99)將一個(gè)數(shù)字乘以2來(lái)提高權(quán)力(功能)logblogbflogbl(C99)(C99)(C99)提取給定數(shù)字的指數(shù)(函數(shù))
ilogbilogbfilogbl(C99)(C99)(C99)提取給定數(shù)字的指數(shù)(函數(shù))
modfmodffmodfl(C99)(C99)將數(shù)字分成整數(shù)和小數(shù)部分(函數(shù))
| 用于frexp的C ++文檔 |
總結(jié)
以上是生活随笔為你收集整理的c语言L文件,frexpl - [ C语言中文开发手册 ] - 在线原生手册 - php中文网的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Linux+Docker+腾讯云/阿里云
- 下一篇: w3cschool php 调整图片尺寸