黑马程序员技术交流社区

标题: 为什么float类型的数据比long类型的数据大 [打印本页]

作者: yooyoo    时间: 2015-9-6 01:05
标题: 为什么float类型的数据比long类型的数据大
float类型占4个字节空间,long类型占8个字节空间,为什么float类型的数据比却long类型的数据大.

作者: JavaProgrammer    时间: 2015-9-6 01:05
因为float是科学计数法,其中有8为是指数
作者: MilesMatheson    时间: 2015-9-6 01:54


  1. public class  myNum
  2. {
  3.         public static void main(String[] args) {
  4.                

  5.                 System.out.println("最大的long型数是:");
  6.                 System.out.println(Long.MAX_VALUE);
  7.                
  8.                 System.out.println("最大的float型数是:");
  9.                 System.out.println(Float.MAX_VALUE);

  10.         }
  11. }
复制代码

/*
运行结果:
最大的long型数是:
9223372036854775807
最大的float型数是:
3.4028235E38                 
*/
long型数据最多能表示19位的数据;float用可科学记数法,约等于3.4*10^38;不是一个数量级的;
因为long其实就是以2为底数的2^64字幂的数,long有8个字节,每个字节8位,所以有64位;它的那个最大值就是(2^64) - 1    ;   所以说不是一个数量级的
作者: 魁子    时间: 2015-9-6 23:42
这个问题其实不需要纠结缘由,只做了解很容易的   float占4个字节、32个二进制位、1位代表是符号位、8位代表指数位、23位代表尾数位                 也就是范围0 - 255,但是0代表0,255代表无穷大, 不用问为什么,以上是IEEE 754的规定!记住就ok
               
               
               
               
               
               
               


作者: hongguihao    时间: 2015-9-7 11:18
进来学习学习!!!
作者: 笑笑精灵    时间: 2015-9-7 22:49
嗯。知道了所以然
作者: shike951128    时间: 2015-9-18 18:12
如果楼主不说我同样不会知道,原来这些都是规定啊啊!




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