为什么四个字节的浮点类型比八个字节的整型取值范围要大

为什么4个字节的浮点数要比8个字节的整数类型大 引用数据类型String是引用数据类型2、基本数据类型(4类8种)(1)整数 所占字节 取值范围byte 1字节 -128-----127short 2字节 -32768-----32767。 阅读详情

        首先,为了知道原因,我们需要知道这两种数据类型在算机当中的存储方式是怎样的

目录

一.数据类型

1.整型:

1.整型数据的字节大小

2.long的取值范围

2.浮点型

1、float类型数字在计算机中用4个字节(32位)存储。

2、格式

3、符号位

4、指数

5、底数

结论


一.数据类型

        知道数据类型分为引用类型和基本数据类型。在基本数据类型中有整型(byte, short, int, long),浮点型(float, double),字符型,还有布尔类型(boolean)

        其中整型long的长度为八个字节,而浮点类型float长度却是四个字节。但是为什么四个字节的浮点类型float比八个字节的整形浪取值范围要大呢?

        那么我们来看看它们两个在计算机当中的存储方式是怎样的吧:

1.整型:

1.整型数据的字节大小

        数据类型                                        字节大小 

         byte                                                  1                                                                  

         short                                                 2

         int                                                     4 

         long                                                  8 

2.long的取值范围

        我们知道,在计算机中一个字节储存8位的二进制的数字,并且整型当中最左边一位是符号位,0代表正数,1代表负数,其他的用来储存数字大小,拿byte类型举例,他的取值范围就是1111 1111(-128,也就是-2^7)------01111 1111(127,需要-1,也就是2^7),同理,我们可以得出long的取值范围是-2^63-----2^63.

2.浮点型

1、float类型数字在计算机中用4个字节(32位)存储。

遵循IEEE-754格式标准:
一个浮点数由3部分组成:符号位s(1位)和、指数e(8位)、底数m(23位)

2、格式

S:符号位
E:指数,十进制指数加上127后的值得二进制数据
M:底数

3、符号位

指底数的符号,可正可负。

4、指数

根据浮点数的存储标准(IEEE制定),float类型指数的起始数为127(二进制0111 1111),double类型指数的起始数为1023(二进制011

1111 1111),在此基础上加指数,得到的就是内存中指数的表示形式。

5、底数

实际是占用24bit的一个值,但是最高位始终为1,所以,最高位省去不存储,在存储中占23bit
科学计数法。

最后我们在将符号为负的情况也考虑进去,可知,float的真正取值范围是:

[-1.1… x 2128(-3.4028235E38),-1.1… x 2-127] ∪ [1.1… x 2-127,1.1… x 2128(3.4028235E38)]

结论

        由此得出,四个字节的浮点类型比八个字节的整型取值范围要大,原因就是数据的储存方式不同造成的

同样是32位,为什么float能表示的数据范围比int的大? System.out.println("Float.MAX_VALUE:"+Float.MAX_VALUE); System.out.println("Integer.MAX_VALUE:"+Integer.MAX_VALUE); System.out.println("Integer.MIN_VALUE:"+Integer.MIN_VALUE); Float.MAX_VALUE:3.4028235E38 Integer.MAX_VALUE:2147483647 Integer.MIN_VALU.. 阅读详情

相关推荐

Unity物理引擎实战:从刚体重心到碰撞体,打造真实不倒翁交互

刚体(Rigidbody)是Unity物理系统的核心组件,它定义了游戏对象的物理属性,如质量、阻力和碰撞响应。其原理基于牛顿力学,通过物理引擎(如PhysX)实时计算物体的运动状态。在游戏开发中,刚体的价值在于能够模拟真实世界的物理行为,为玩家提供沉浸式的交互体验。碰撞体(Collider)则定义了物体的形状边界,用于检测与其他物体的接触。通过精细调整刚体的重心(Center of Mass)和碰撞体形状,开发者可以模拟出各种有趣的物理现象,例如低重心物体的动态平衡。这在休闲游戏、物理玩具模拟等场景中尤为实

weixin_33976326的博客 354

为什么四个字节的浮点数比八个字节的整数表示的范围广

为什么四个字节的浮点数比八个字节的整数表示的范围广

HXC111357的博客 437

Nginx配置Cookie安全属性:HttpOnly、Secure、SameSite实战指南

Cookie是Web应用中维持用户状态的核心机制,其安全配置直接关系到会话管理与身份认证的可靠性。从原理上讲,HttpOnly属性可防止XSS攻击窃取Cookie,Secure属性确保Cookie仅在HTTPS加密连接中传输,而SameSite属性则用于控制跨站请求时Cookie的发送行为,能有效防御CSRF攻击。这些安全属性的技术价值在于构建纵深防御体系,提升应用的整体安全性。在现代浏览器(如Chrome 80+)默认将未明确声明的Cookie视为SameSite=Lax的背景下,正确配置这些属性变得尤为

weixin_33783283的博客 319

为什么Java中float类型的取值范围大于long类型

在学习Java的过程中,我遇到了一个很有意思的问题,就是为什么Java中float类型的取值范围会大于long类型。 类型名 大小/字节 取值范围 float 4(32bit) -3.4E+38 ~ 3.4E+38 long 8(64bit) -2^63~2^63-1 long整型数:具有8个字节(64位),以二进制补码表示的整数,这种类型主要使用在需要比较大整数的系统上。 float类型具有4个字节,包括一个符号位、一个8位二进制指数和一...

Funny54的博客 607

孤读paper——《GhostNet:More Features from Cheap Operations》

《GhostNet:More Features from Cheap Operations》   发现一个点并解决就是一篇CVPR,该文章主要发现了优秀的网络的特点是feature map提取过程中的冗余性,这种冗余性体现在很多成对的feature map间很像,就好像彼此的“ghost”,而这种特征冗余性对于理解图像来说还是必要的,所以文章把feature map分为两种,一种是本质特征,一...

雄关漫道真如铁 而今迈步从头越 5149

Tessent MBIST SDC

主要是两个PROC,tessent_constrain_${design_name}_mentor_ijtag_non_modal和tessent_constrain_${design_name}_mentor_memory_bist_modal。其中,Memory/MBIST controller/MEM Interface可以从func_clk_1来(用func_clk_1和func_clk_2的高频时钟),如图中红色线。其中,SIB和BAP用ijtag_tck的clock,如图绿色线。

po_poo的博客 1987

整型数据类型及其取值范围详解

整型数据类型 C数据类型 最小值 最大值 [signed] char -128 127 unsigned char 0 255 short -32768 32767 unsigned short 0 65535 int -2 147 483 648 2 147 483 647 unsigned 0 4 294 967 295 long -2 147 483 648 2 147 483 647 unsigned long 0 4 294 967 295 int3

Ocodotial的博客 1万+

Dify+工作流,通过多模态实现发票自动识别

上个章节我们用Dify实现了基于本地知识库的聊天助手,本节我们通过工作流 ,可视化界面快速构建复杂的工作流和自动化流程。结合 OCR(光学字符识别)技术和工作流引擎,可以实现发票的自动识别、数据提取以及后续的审批流程。本文将详细介绍如何使用 Dify 和工作流来实现发票的自动识别与审批。

odin2005的博客 7424

int的取值范围

引言 在学C++或者Java的时候应该都会先了解各种基本数据类型的初值和它们的取值范围,有些人可能会不太重视这块内容,其实很重要,很多大公司面试的过程中都会问到int的取值范围,溢出之后会怎么样等问题。 正文 首先来看下在C++和Java中一些基本的数据类型 在c++中的三类基本数据类型 在java中的四类基本数据类型 上图可以看到c++和java之间的基本数据类型的区别,java多了一类...

回忆 23万+

【算法实战】Keystone变换:从原理到MATLAB实现的距离走动校正

本文深入解析Keystone变换在雷达信号处理中的距离走动校正应用,从原理到MATLAB实现全面讲解。通过三种实现方法(DFT+IFFT、Sinc插值、Chirp-Z变换)的对比分析,结合实战案例展示如何有效解决高速目标导致的距离单元跨越问题,提升多普勒频谱聚焦质量。

weixin_29055699的博客 290

CTFmisc-------Jack

每一个文件里面都有不一样的base64编码,我尝试将其解密,发现解出来的是乱码,所以我想到真正的flag藏在这些字符串中,所以我们要写代码把字符串提取出来。提取出来后,得到很多的base64的编码,要一个一个的解码很麻烦,猜到里面有flag字样的base64编码,所以我们将flag进行base64编码,1.下载得到Jack文件夹,里面有很多的txt文件。发现这个字符串是众多编码中唯一一个没有==然后从那些base编码中寻找Zmxh字段。

woshicainiao666的博客 1万+

float和double取值范围

最近在复习的时候发现基础太薄弱,对于float和double虽然了解所占字节数,但不知道他们的取值范围是多少,这对参加大厂笔试题时是十分不利的 1.八种数据类型的分类如下: 第一类:整型 byte short int long 第二类:浮点型 float double 第三类:逻辑型 boolean(它只有两个值可取true false) 第四类:字符型 char 2.各种基本数据类型所...

sinat_39370511的博客 6万+

【深度学习新浪潮】李飞飞团队VAGEN框架深度解析:让VLM智能体学会“三思而后行“

VAGEN框架的真正价值,不仅在于性能指标的突破,更在于重新定义了VLM智能体的发展方向——人工智能的进步不应只追求"做得对",更要实现"想得清"。李飞飞团队通过强制显式思考、动态表示适配和精细化奖励三大创新,让智能体第一次具备了可解释的世界建模能力。正如人类通过"观察-预测-行动"认识世界,VAGEN为AI注入的这种思考范式,或许正是通往通用人工智能的关键一步。对于开发者而言,开源的VAGEN框架不仅提供了强大的工具,更揭示了一个重要理念:让AI学会思考,比让它学会执行更重要。

专注:太空算力、AI infra、异构调度、大模型成本工程 280

为什么四个字节的浮点类型比八个字节的整型取值范围要广

为什么四个字节的浮点类型比八个字节的整型取值范围要广

makabaka_haha的博客 515

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

为什么四个字节的float表示的范围比八个字节的long表示的范围要广

按数学的思维来理解,相同位数的小数会比整数大吗?回答肯定是不一定,但在计算机当中,四个字节的浮点数却比八个字节的整型long存储范围要大,这该如何解释。以上就是图文说明,为什么为什么四个字节的float表示的范围比八个字节的long表示的范围要广。...

qq_52025132的博客 494

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

C语言的整型溢出问题 int、long、long long取值范围 最大最小值

溢出和取值范围C语言的整型溢出问题整数溢出int、long int 、long long int 占用字节疑问《C和指针》中写过:long与int:标准只规定long不小于int的长度,int不小于short的长度。double与int类型的存储机制不同,long int的8个字节全部都是数据位,而double是以尾数,底数,指数的形式表示的,类似科学计数法,因此double比int能表示的数...

纸短情长的博客 1万+

为何4个字节int取值范围是-2^31 到2^31 - 1

前言 最近去参加面试,是一家还算不错的公司,怎么说呢,因为公司是做工具类软件的,电脑端网页端手机端都有,软件的用户量达到了3.5亿之多,由于面向用户主要是欧美,因此在国内知道的人就很少。我面试的是iOS岗位,不过一开始技术面试一上来问了我一堆计算机基础底层的问题,其中一个问题就给我留下深刻的记忆,为啥呢?因为他问我int为4个字节时取值范围是多少,他听到我答案后,斩钉截铁的说我肯定错了,但是呢,...

qq_20255275的博客 7688

为什么四个字节的float表示的范围比八个字节的long要广

我们在学习数据类型的时候学习了基本数据类型,基本数据类型中包括数值型、字符型、布尔型。当学习数值型时知道了数值型包括整数类型和浮点类型。下面我们用一张图来说明数值型各个类型的字节数和取值范围。从图中我们可以发现八个字节的long型居然没有四个字节的float型范围大。.........

qq_59438034的博客 381

四个字节的float表示的范围比八个字节long表示的范围广的原因

所以说四个字节的float表示的范围比八个字节long表示的范围广

weixin_56267337的博客 1060

C语言:字符型、整型和浮点型数据的取值范围

C语言:字符型、整型和浮点型数据的取值范围

MQ0522的博客 3363

各种数据类型的取值范围(总结全)

bool型为布尔型,占1个字节,取值0或1。 BOOL型为int型,一般认为占4个字节,取值TRUE/FALSE/ERROR。 sbyte型为有符号8位整数,占1个字节,取值范围在128~127之间。 bytet型为无符号16位整数,占2个字节,取值范围在0~255之间。 short型为有符号16位整数,占2个字节,取值范围在-32,768~32,767之间。 ushort型为无符号

junjun5156的博客 3万+

为什么四个字节的float表示的范围比八个字节的long要广?

我们都知道Java中常用的数据类型分为引用数据类型和基本数据类型,在基本数据类型中中,分为四类八种,其中整形分为byte(1字节)、short(2字节)、int(4字节)、long(8字节),浮点型分为float(4字节)、double(8字节),字符型为char(2字节),布尔型为boolean(8字节)。那为什么四个的浮点数会比8个字节的long还要大呢?总的来说,long类型的值跟float类型的值存储方式不同,通过验证,可以得到四个字节的float比八个字节的long表示的范围广。......

qq_53123736的博客 427

 C语言各数据类型所占字节数和取值范围

C语言中各数据类型所占字节数和取值范围 注:每种数据类型的取值范围都是与编译器相关的,以下为数据Visual C++32位环境下的参数,如想清楚了解自己所用编译器对各数据类型所占字节,可以用sizeof进行检验。也可以使用limits.h头文件中的INT_MIN,INT_MAX等来查看取值范围 - 首先,unsigned 与signed (默认省略)相比,两者能表示的数字个数相同,不同的是unsigned是无符号的意思,所以unsigned修饰的数据都是非负数。 如: char...

jokerMingge的博客 6839

c语言int四个字节取值范围,c语言有符号int取值范围

结论,取值范围是-2^31~2^31-1(十六进制为0x80000000~0x7fffffff)。因为0既不是正数也不是负数,+0是0,-0是最小的负数(-最大正数-1),所以负数的取值范围比正数多一个数。int为四个字节,一共32位,其中最高位为符号位,0表示正数,1表示负数,剩下的31位表示数。所以一共可表示2*2^31即2^32个数字(包括一个0)。在计算机中保存有符号数,保存的是数的二进制...

weixin_35727440的博客 3155
上一篇: CSS盒子模型及属性
下一篇: JAVA继承关系下构造方法的访问特点
小赵在练琴
博客等级 码龄5年 104粉丝 13原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值