关于float为什么的范围为什么10-38--------10+38

来源:互联网 发布:数据分析师待遇怎么样 编辑:程序博客网 时间:2024/05/29 02:52
IEEE754标准中进行了单精度浮点数(float)和双精度数浮点数(double)的定义。float32bitdouble64bit。它们的构成包括符号位、指数位和尾数位。 
这些位的构成如下: 
种类-------符号位-------------指数位----------------尾数位---- 
float---31(1bit)---30-23(8bit)----22-0(23bit) 
double--63(1bit)---62-52(11bit)---51-0(52bit) 
 
取值范围主要看指数部分: 
float的指数部分有8bit(2^8),由于是有符号型,所以得到对应的指数范围-128~128 
double的指数部分有11bit(2^11),由于是有符号型,所以得到对应的指数范围-1024~1024 
 
由于float的指数部分对应的指数范围为-128~128,所以取值范围为: 
-2^1282^128,约等于-3.4E38 — +3.4E38 
 
精度(有效数字)主要看尾数位: 
float的尾数位是23bit,对应7~8位十进制数,所以有效数字有的编译器是7位,也有的是8这个也间接说明为什么浮点型比整数型处理速度会慢的多。主要是表示的方式不一样。浮点型转换比整数型转换的工作量大的多。
原创粉丝点击