文章目录

  • 问题:float是32位,long是64位,为什么float表示的范围比long大呢?
  • 参考

问题:float是32位,long是64位,为什么float表示的范围比long大呢?

原因:

原因是,float与long在内存中的存储方式不一样。

long在内存中直接用64为存储:

long在内存中是用64为存储,所以大小为-2^63 ~ 2^63-1。

然而float是用浮点数表示法表示的,如下:

float计算公式:(-1)s*M*2E 1
由于单精度的阶码E是8位,尾数M是23为,数符是1位
尾数M是一个定点小数,其表示如下:

计算方法为:
-[1-2-(n-1)]~+[1-2-(n-1)]

所以float的最大值为:(1-2-22)*2127 (127是28-1-1),这里远超263了,所以float的表示范围大于long。这个就是为什么宽化类型转换时可以从long或int转换为float的原因。下面这个不会报错

参考

link


  1. (N)R=(+/-) mn-1…m0.m1…m-k=(+/-)M*R(+/-)E,M为尾数,E为阶,R为基数。 ↩︎

为什么Java中的float型最大值大于long型?相关推荐

  1. Java入门之7:Java中的float和double类型的浮点数是怎么按照IEEE 754标准存储的?

    前言: 这篇博文,我写了好几天--,里面涉及的基础概念比较多,内容比较多,举例也比较多,想搞清楚明白就难免 我自己都会觉得啰嗦,我整理了目录出来,看完需要一点时间,可以自行根据需要.感兴趣的 选择阅读 ...

  2. Java中的基本数据类型讲解(数值型、字符型、布尔型)

    数据类型 数据类型的分类 分为 基本数据类型和引用数据类型 基本数据类型 基本数据类型分为数值型.字符型和布尔类型 数值型 数值型分为整数型和浮点型(小数型) 整数型 包含:int. short. b ...

  3. java中intvalue_Java Float类intValue()方法与示例

    java中intvalue 浮动类intValue()方法 (Float class intValue() method) intValue() method is available in java ...

  4. JAVA中的float和double的区别

    1.两个在定义时的区别 1)float型 内存分配4个字节,占32位,范围从10^-38到10^38 和 -10^38到-10^-38         例float x=123.456f,y=2e20 ...

  5. 纯原创:Java中的float和double的有效数字的位数问题,记不住,代码show,二进制解释随其后!

    今天,陈老师和老王讨论一个问题,记下来和大家分享一下,有需要的同学,可以一起复习一下. 1,首先是程序的调试观念.这个是重要的,学习任何一门语言,语法只能服从,老王建议熟能生巧,不要记忆或者背,因为这 ...

  6. java内部float,Java中的float是什么?

    I wrote this code: float b = 3.6; and I get this: Error:Unresolved compilation problem: Type mismatc ...

  7. JAVA和C浮点数,为什么在C ++和Java中使用float函数会产生不同的结果?

    I just came across this website and tried doing that in Java and C++. Why writing the following in J ...

  8. java中取long的绝对值_在Java中获取float,int,double和long的绝对值

    java.lang.Math类具有abs()方法,可帮助我们查找不同数据类型的绝对值. 浮动绝对值 为了计算float值的绝对值,我们使用java.lang.Math.abs(float a)方法.如 ...

  9. Java中字符串转整型和整型转字符串

    标签(空格分隔): Java 大多数情况下,用户通过文本框或者文本域提交自己的输入.用户通过文本框或文本域输入的内容通常是string格式的.而你常常需要的是这些内容的整数形式.例如,年龄,电话号码等 ...

  10. java float的精度_java中的float和double的精度问题

    此文解释了为何float的范围比int大(同样4字节),但有些int是float无法正确表达的(精度丢失) java中的float和double的精度问题 1.背景知识 在java中没有细讲,只是讲了 ...

最新文章

  1. 007_ServletConfig
  2. Python爬虫实战(1):爬取糗事百科段子
  3. SilverLigth的Chart不要图例(Legend)的方法
  4. JZOJ 5393. 【NOIP2017提高A组模拟10.5】Snake vs Block
  5. 机器学习技法(3)--Kernel Support Vector Machine
  6. asp.net 与 java 2017_[ASP.net教程]C#与JAVA学习感悟
  7. PMP读书笔记(第11章)
  8. win7装mysql一直未响应6_win7重装mysql最后一步无响应解决方法
  9. Python 的NumPy 库中dot()函数详解
  10. (11)机器学习_Kmeans聚类算法
  11. 安卓4.X的桌面启动器-尖端启动器APEX
  12. Android开源库——xUtils框架
  13. matlab get,matlab中的get函数怎么用?
  14. 我如何建立热线电话喀拉拉邦并为抗洪救灾做出了贡献
  15. 计算机一级考试试题分值怎么样的,计算机一级考试的试题分值怎么样的?
  16. Matlab对图像进行傅里叶变换实例
  17. Linux C编程之十六 网络编程基础-socket
  18. 记几次被恶意挖矿程序占满linux服务器cpu的经历
  19. 国内外视频编解码标准体系-横向纵向对比全球三个体系标准
  20. 矢量数据-点,线的生成

热门文章

  1. UWB室内定位系统,你知道几分
  2. 算加权成绩(MATLAB)
  3. vagrant up default: Warning: Authentication failure. Retrying...的一些解决办法(转自myx的博客)
  4. QT 报 QMetaObject::connectSlotsByName: No matching signal for on_btn_clicked()
  5. ACM的奇计淫巧系列
  6. 最实用的Windows安全加固手册
  7. linux开发工具少_从设计到开发,我必不可少的10种工具
  8. 最新全志超清4K视频编解码芯片-V316处理器
  9. 新概念第二册 Lesson 1 句子 结构 分析
  10. 计算机word怎么插入图片,word如何插入图片 Word2003如何插入电脑中图片