黑马程序员技术交流社区

标题: java中double float型的数据在内存中怎么存放的 [打印本页]

作者: 小乖乖灬浩歌    时间: 2014-7-17 20:02
标题: java中double float型的数据在内存中怎么存放的
    最近学习Javase部分 感觉遇到一个问题搞不懂
     byte short int long等整数类型的 我们都可以推导出二进制的形式 然后根据这个形式计算出 取值范围  但是double float型的数据在内存中怎么存放的?不知道二进制形式的话,也不好确定取值范围啊 ?
      来个大神讲讲这个怎么存放的,为什么小数类型的数据取值范围就是书上那样的?-3.4*10(-38)~3.4*10(38)  float
  
作者: zhxu188    时间: 2014-7-17 20:18
内存存储是按照IEEE754标准存储的,一个小数会被拆分成三部分,符号位、指数位和尾数位,这些位点并不是直接存的数据,而是经过偏移的,单精度浮点的偏移量是127(十进制的),所以存储浮点数的时候要偏移量加上阶码。因为IEEE754标准是这么规定的。都是一套定死的规矩规范




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2