关于java中数据类型的范围

OuMend 2018-07-27 02:54:32
编程语言中数据类型的范围,整数型的好理解,浮点数double和float的表示范围(单精度浮点的表示范围:-3.40E+38 ~ +3.40E+38
双精度浮点的表示范围:-1.79E+308 ~ +1.79E+308)是怎样计算出来的呢?求解答
...全文
442 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_39936465 2018-09-13
  • 打赏
  • 举报
回复
这个牵涉到计算机 原理,和编程没多大关系,你只要记住数值范围编程时别溢出就行了,如果一定要知道 。 单精度:第一位是符号位,表示正负,后面8位是指数位,指数的第一位也是正负位(小数用负指数表示),剩下7位2进制数指数位所以指数范围是127~-127,剩下23位数值位,所以正最大值=111...1111(23个1)000(127个0)组成的2进制数,然后转化为10进制。 双精度:1个符号位,11位指数位,52位数值位,同理
net学习期 2018-08-17
  • 打赏
  • 举报
回复
那个E后面的数字是10的多少次方
galiniur0u 2018-08-17
  • 打赏
  • 举报
回复
浮点型是由符号位、指数位、小数位三部分组成,指数位代表了数字的位数范围,小数位代表了精度,楼主可以百度double类型的组成就了解了
wyzrsics 2018-08-11
  • 打赏
  • 举报
回复
double的取值范围类似操作,不过指数位是11位
遇见1995 2018-07-28
  • 打赏
  • 举报
回复
2的x次方,x是特定的位数,最后结果算出来,用科学计数法表示(保留一定精确位数)就得到了。
verejava 2018-07-27
  • 打赏
  • 举报
回复
Java 基础 之 数据类型 范围

http://www.verejava.com/?id=1699255932129
码龙3 2018-07-27
  • 打赏
  • 举报
回复
浮点数的组成结构 符号位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级别的数)
oyljerry 2018-07-27
  • 打赏
  • 举报
回复
主要就是浮点数用多少位数字来表示从而得到的范围

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧