java 中float和double类型数据取值详解
2016-10-24 16:23
357 查看
1、定义标准 IEEE754
在IEEE754标准中进行了单精度浮点数(float)和双精度数浮点数(double)的定义。
float有32bit,double有64bit。它们的构成包括符号位、指数位和尾数位。
2、存储结构
float: 1bit(符号位)+8bit(指数位)+23bit(尾数位)
double:1bit(符号位)+11bit(指数位)+23bit(尾数位)
这些位的构成如下
种类-------符号位-------------指数位----------------尾数位----
float---第31位(占1bit)---第30-23位(占8bit)----第22-0位(占23bit)
double--第63位(占1bit)---第62-52位(占11bit)---第51-0位(占52bit)
3、取值范围定义
取值范围主要看指数部分:
float的指数部分有8bit(2^8),由于是有符号型,所以得到对应的指数范围-128~128。
double的指数部分有11bit(2^11),由于是有符号型,所以得到对应的指数范围-1024~1024。
4、取值
float类型: -2^128到
2^128
double类型:-2^1024 到2^1024
在IEEE754标准中进行了单精度浮点数(float)和双精度数浮点数(double)的定义。
float有32bit,double有64bit。它们的构成包括符号位、指数位和尾数位。
2、存储结构
float: 1bit(符号位)+8bit(指数位)+23bit(尾数位)
double:1bit(符号位)+11bit(指数位)+23bit(尾数位)
这些位的构成如下
种类-------符号位-------------指数位----------------尾数位----
float---第31位(占1bit)---第30-23位(占8bit)----第22-0位(占23bit)
double--第63位(占1bit)---第62-52位(占11bit)---第51-0位(占52bit)
3、取值范围定义
取值范围主要看指数部分:
float的指数部分有8bit(2^8),由于是有符号型,所以得到对应的指数范围-128~128。
double的指数部分有11bit(2^11),由于是有符号型,所以得到对应的指数范围-1024~1024。
4、取值
float类型: -2^128到
2^128
double类型:-2^1024 到2^1024
相关文章推荐
- Java基础-数据类型int,short,char,long,float,double,boolean,byte
- java中数据类型转换 Integer String Long Float Double Date
- java Byte和各数据类型(short,int,long,float,double)之间的转换
- java当中float以及double数据类型的掌握
- java Byte和各数据类型(short,int,long,float,double)之间的转换
- java byte、short、int、long、float、double、char基本数据类型范围
- JAVA_int类型数据精度高于float低于double
- Tarena - 变量与java的基本数据类型(int,long,float,double,char,boolean)
- java当中float以及double数据类型的掌握
- java中数据类型转换 Integer String Long Float Double Date
- JAVA基本数据类型范围和float、double精度问题
- java中数据类型转换 Integer String Long Float Double Date
- JAVA float double数据类型保留2位小数点5种方法
- java中数据类型转换 Integer String Long Float Double Date Char
- (JAVA & C)数据类型取值范围——short int long float double等
- java语言中float和double类型的数据在编程时的注意事项
- java中数据类型double&float
- java当中float以及double数据类型的掌握
- java中数据类型转换 Integer String Long Float Double Date
- Java中float和double类型的数据在内存中是怎样存放的