(float.h)

頭文件:spa

<cfloat> (float.h)code


浮點類型的特性blog

這個頭文件爲特殊系統和編譯器的實現描述了浮點類型的特徵.ci

一個浮點數包含四個元素:get

  • 一個標誌(a sign):正或負;
  • 一個基數(a base):這表示一串不一樣的數字可以被一個個單一的數字所表示(2 就是二進制(binary),10就是十進制(decimal),16就是十六進制(hexadecimal)...);
  • 一個有效數(a significand):這是一系列前面所談到的基數的數字,在這一系列中數字的位數就是衆所周知的精度;
  • 一個指數(an exponent):它表明着有效數字的偏移量,用下面的方式影響着其值:
  浮點數值 = 有效數 x 基數 指數 ,(還有相應的標誌(sign))
  (image)

宏常量編譯器


下面的表格顯示了這個頭文件中定義的不一樣的變量的名稱和全部實現的最小值最大值
(具體的實現可能有的值比這個大或者小 按照說明):it

  當一組宏存以FLT_,DBL_和LDBL_爲前綴時,以FLT_開頭的適用於float,以DBL_開頭的適用於double,以LDBL_開頭的適用於long double;io

名稱 表明 表示
FLT_RADIX 2或者更大 基數 (radix)
全部浮點數類型的基數
FLT_MANT_DIG
DBL_MANT_DIG
LDBL_MANT_DIG
 

 尾數的位數編譯

(MANTissa DIGits)table

 有效數的精度,符合有效數字的位數
FLT_DIG
DBL_DIG
LDBL_DIG

6 或者更大

10 或者更大

10 或者更大

 精度

(DIGits)

 帶十進制的數可以轉化爲一個浮點數而且將其再次轉化回來時不改變整數數字

FLT_MIN_EXP
DBL_MIN_EXP
LDBL_MIN_EXP
   最小的指數 用於生成一個標準化的浮點數指數的最小負整數值
FLT_MIN_10_EXP
DBL_MIN_10_EXP
LDBL_MIN_10_EXP

-37 或者更小

-37 或者更小

-37 或者更小

 最小以10爲基數的指數

用於生成一個標準浮點數的十進制指數表達式

的最小負整數

FLT_MAX_EXP
DBL_MAX_EXP
LDBL_MAX_EXP
   最大的指數  用於生成一個標準化的浮點數指數的最大整數值
FLT_MAX_10_EXP
DBL_MAX_10_EXP
LDBL_MAX_10_EXP

37 或者更大

37 或者更大

37 或者更大

 最大以10爲基數的指數  

用於生成一個標準浮點數的十進制指數表達式

的最大整數

FLT_MAX
DBL_MAX
LDBL_MAX
1E+37 或者更大
1E+37 或者更大
1E+37 或者更大
 最大數  表示最大有限的浮點數
FLT_EPSILON
DBL_EPSILON
LDBL_EPSILON
1E-5 或者更小
1E-9 或者更小
1E-9 或者更小
 EPSILON :)
 可以表示1和最小值的差大於1
FLT_MIN
DBL_MIN
LDBL_MIN
1E-37 或者更小
1E-37 或者更小
1E-37 或者更小
 最小數  表示最小有限的浮點數
FLT_ROUNDS    舍入方式

 舍入行爲,可能的值:

-1:未肯定的

0:向0舍入

1:四捨五入

2:向正無窮

3:向負無窮

*適用於全部浮點類型(float,double和long double)

FLT_EVAL_METHOD    賦值方式

 賦值格式的屬性,可能的值:

-1:未肯定的

0:賦值類型的範圍和精度

1:賦值時將float和double看成double,

long double 看成long double

2:賦值時全部都看成long double,其它負數都表示爲實現的定義(implementation-defined)行爲

*適用於全部浮點類型

DECIMAL_DIG    小數精度

 能夠將一個十進制數轉化一個浮點類型的數字,

而且再次轉爲到與原來同樣的數字時不丟失精度

 

通用性


 

 

FLT_EVAL_METHOD DECIMAL_DIG 是在符合C99標準的庫中定義的或者只在符合C11的庫中

請參閱


 

<climits> (limits.h) 整數類型的大小

 

/*

  第一次修改時間:2016年1月30日 20:32:35

*/

相關文章
相關標籤/搜索