程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> <cfloat> (float.h),cfloatfloat.h

<cfloat> (float.h),cfloatfloat.h

編輯:C++入門知識

<cfloat> (float.h),cfloatfloat.h


頭文件:

<cfloat> (float.h)


浮點類型的特性

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

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

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

宏常量


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

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

名稱 值 代表 表示 FLT_RADIX 2或者更大 基數 (radix)
所有浮點數類型的基數 FLT_MANT_DIG
DBL_MANT_DIG
LDBL_MANT_DIG  

 尾數的位數

(MANTissa DIGits)

 有效數的精度,符合有效數字的位數 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

*/

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved