A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

5黑马币
float类型占4个字节空间,long类型占8个字节空间,为什么float类型的数据比却long类型的数据大.

最佳答案

查看完整内容

因为float是科学计数法,其中有8为是指数

6 个回复

正序浏览
如果楼主不说我同样不会知道,原来这些都是规定啊啊!
回复 使用道具 举报
嗯。知道了所以然
回复 使用道具 举报
进来学习学习!!!
回复 使用道具 举报
这个问题其实不需要纠结缘由,只做了解很容易的   float占4个字节、32个二进制位、1位代表是符号位、8位代表指数位、23位代表尾数位                 也就是范围0 - 255,但是0代表0,255代表无穷大, 不用问为什么,以上是IEEE 754的规定!记住就ok
               
               
               
               
               
               
               

回复 使用道具 举报


  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    ;   所以说不是一个数量级的
回复 使用道具 举报
因为float是科学计数法,其中有8为是指数
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马