簡介
雙精度浮點數(Double)用來表示帶有小數部分的實數,一般用於科學計算,用8個位元組(64位)存儲空間,其數值範圍為1.7E-308~1.7E+308,雙精度浮點數最多有15或16位十進制有效數字,雙精度浮點數的指數用“D”或“d”表示。雙精度浮點數科學記數法格式 :±aD±c或±ad±c 。
數碼信息
雙精度二進制小數,使用64個比特存儲。1位 | 11位 | 52位 |
S(符號位),編號63 | E(階碼位),編號62 ~52 | M(小數位),編號51 ~ 0 |
0表示正,1表示負 | −1022~+1023加上1023 | 任意 |
採用IEEE754規定的規約數的二進制表示範圍為(*表示0或1都行):
規約數最小值 | * | 000 0000 0001 | 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 |
規約數最大值 | * | 111 1111 1110 | 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 |
轉化為十進制的公式:i表示小數位從左到右的位數,第一位i=0,表示每一位的值, =0或者1。
代碼
C\C++語言中浮點數的最值包含在#include<float.h>\#include<cfloat>中:
1 2 3 4 5 6 7 | #include<stdio.h> #include<float.h> main() { printf("%lE\n",DBL_MIN); printf("%lE",DBL_MAX); } |
1 2 3 4 5 6 7 8 | #include<iostream> #include<cfloat> usingnamespacestd; intmain() { cout<<DBL_MAX<<endl<<DBL_MIN; return0; } |