关于java中数据类型的范围 编程语言中数据类型的范围,整数型的好理解,浮点数double和float的表示范围(单精度浮点的表示范围:-3.40E+38 ~ +3.40E+38双精度浮点的表示范围:-1.79E+308 ~ +1.79E+308)是怎样计算出来的呢?求解答 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 浮点数的组成结构符号位S_指数位E_尾数位M例如,一个float类型的数据占用4个字节共32位,其各个组成部分为:符号位(S):最高位(31位)为符号位,表示整个浮点数的正负,0为正,1为负指数位(E):23-30位共8位为指数位,这里指数的底数规定为2。并且指数位是以补码的形式来划分的(最高位为指数位的符号位,0为正,1为负)。另外,标准中还规定了,当指数位8位全0或全1的时候,浮点数为非正规形式,所以指数位真正范围为:-126~127。尾数位(M):0-22位共23位为尾数位,表示小数部分的尾数,即形式为1.M或0.M,至于什么时候是 1 什么时候是 0,则由指数和尾数共同决定。小数部分最高有效位是1的数被称为正规(规格化)形式。小数部分最高有效位是0的数被称为非正规(非规格化)形式,其他情况是特殊值。取值范围float和double的【取值范围】是由【指数的位数】来决定的,其中,负指数决定了浮点数所能表达的【绝对值最小】的非0数,而正指数决定了浮点数所能表达的【绝对值最大】的数,也即决定了浮点数的取值范围。S:符号位,E:指数位,M:尾数位float:S1_E8_M23,指数位有8位,指数的取值范围为-2^7~2^7-1(即-128~127) float的取值范围为-2^128 ~ +2^127(10^38级别的数)double:S1_E11_M52,指数位有11位,指取的取值数范围为-2^10~2^10-1(即-1024~1023) double的取值范围为-2^1024 ~ +2^1023(10^308级别的数) Java 基础 之 数据类型 范围http://www.verejava.com/?id=1699255932129 double的取值范围类似操作,不过指数位是11位 浮点型是由符号位、指数位、小数位三部分组成,指数位代表了数字的位数范围,小数位代表了精度,楼主可以百度double类型的组成就了解了 java static修饰符什么意思? 非常奇怪的字节丢失的现象,达人入 急 在线等..................... jdbc连接sql JAVA核心编程中的例子:为什么这里只能调用paint而不能调用repaint?? 请教各位了,今天遇到个问题,在线急等.... 使用AWT,创建一个TextField类的对象,如何实现文本的对齐方式? 关于assert 的一个题 请求高手解惑~~~~~~~~~~ test 正则高手进 除数为0问题 求教!搭建简单的dubbo框架
符号位S_指数位E_尾数位M
例如,一个float类型的数据占用4个字节共32位,其各个组成部分为:
符号位(S):最高位(31位)为符号位,表示整个浮点数的正负,0为正,1为负
指数位(E):23-30位共8位为指数位,这里指数的底数规定为2。并且指数位是以补码的形式来划分的(最高位为指数位的符号位,0为正,1为负)。另外,标准中还规定了,当指数位8位全0或全1的时候,浮点数为非正规形式,所以指数位真正范围为:-126~127。
尾数位(M):0-22位共23位为尾数位,表示小数部分的尾数,即形式为1.M或0.M,至于什么时候是 1 什么时候是 0,则由指数和尾数共同决定。小数部分最高有效位是1的数被称为正规(规格化)形式。小数部分最高有效位是0的数被称为非正规(非规格化)形式,其他情况是特殊值。取值范围
float和double的【取值范围】是由【指数的位数】来决定的,其中,负指数决定了浮点数所能表达的【绝对值最小】的非0数,而正指数决定了浮点数所能表达的【绝对值最大】的数,也即决定了浮点数的取值范围。
S:符号位,E:指数位,M:尾数位
float:S1_E8_M23,指数位有8位,指数的取值范围为-2^7~2^7-1(即-128~127)
float的取值范围为-2^128 ~ +2^127(10^38级别的数)
double:S1_E11_M52,指数位有11位,指取的取值数范围为-2^10~2^10-1(即-1024~1023)
double的取值范围为-2^1024 ~ +2^1023(10^308级别的数)
double的取值范围类似操作,不过指数位是11位