前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >float的内存存储

float的内存存储

作者头像
用户7272142
发布于 2023-04-12 12:26:36
发布于 2023-04-12 12:26:36
7480
举报
文章被收录于专栏:Republic博客Republic博客

其他进制转二进制

十进制->二进制 eg:十进制数10转换二进制 10/2=5········0 5/2 = 2······1 2/2 = 1·····0 1/2 = 0······1 所以10的二进制为1010 float->二进制 8.25 整数部分与上面一样 8/2=4···0 4/2 = 2···0 2/2 = 1···0 1/2 = 0···1 8->1000(b) 0.25->二进制 0.25*2 = 0.5 <1 0 0.5*2 = 1.0 = 1 1 所以8.25 = 1000.01 = 1.00001*2^3

概述

符号域:S 占一位 正数为0 负数为1 接吗域:E 占8位 或者11位 E=e+127或者E=e+1023 尾数域名:M 23位或者52位 小数位部分 float的存储结构 由于计算机中只能存储二进制数据,所以十进制数据必须转成二进制数

例如:-8.25=-1000.01=-1.00001*2^3

小数转换二级制

-8.25转化为二进制,转化如下:以2为基数

整数部分

8/2=4............0

4/2=2............0

2/2=1............0

1/2=0............1

所以整数部分是1000

小数部分 取整数部分

0.25*2=0.5........0

0.50*2=1.0........1

所以小数部分是01

所以8.25转为二进制为1000.01

float内存存储

8.25 = 1000.01 = 1.00001*2^3 首先化为规范化的指数形式 符号域 阶码域 尾数域 0 3+127 00001000000000000000000 所以符号域 = 0 阶码域 3+127 = 130 ->10000010(b) 尾数域:00001000000000000000000 2023-04-04T01:28:39.png 0100 0001 0000 0100 0000 0000 0000 0000 4 1 0 4 0 0 0 0 所以浮点数8.25在内存中存储的数据是0x41040000 double的存储结构 双精度类似单精度 不写了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023 年 04 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
JDK源码分析 Float
对于JDK源码分析的文章,仅仅记录我认为重要的地方。源码的细节实在太多,不可能面面俱到地写清每个逻辑。所以我的JDK源码分析,着重在JDK的体系架构层面,具体源码可以参考:http://www.cnblogs.com/skywang12345/category/455711.html。
Yano_nankai
2018/10/08
8580
JDK源码分析 Float
小朋友学C语言(43):浮点数的深入分析
IEEE二进制浮点数算术标准(IEEE 754)是20世纪80年代以来最广泛使用的浮点数运算标准,为许多CPU与浮点运算器所采用。这个标准定义了表示浮点数的格式(包括负零-0)与反常值(denormal number)),一些特殊数值(无穷∞与非数值NaN),以及这些数值的“浮点数运算符”。 IEEE 754规定了四种表示浮点数值的方式:单精确度(32位)、双精确度(64位)、延伸单精确度(43比特以上,很少使用)与延伸双精确度(79比特以上,通常以80位实现)。只有32位模式有强制要求,其他都是选择性的。大部分编程语言都有提供IEEE浮点数格式与算术,但有些将其列为非必需的。例如,IEEE 754问世之前就有的C语言,现在有包括IEEE算术,但不算作强制要求 C语言的float通常是指IEEE单精确度,而double是指双精确度。
海天一树
2019/03/06
2K0
小朋友学C语言(43):浮点数的深入分析
小数在内存中是如何存储的?
在学习进制转换时,我们了解到:我们经常使用的十进制数是转换为二进制进行存储的,只需要按照顺序将转换后的结果放在对应的位置上就行了。其实小数的存储也是基于二进制的,不过由于小数由整数部分和小数部分组成,为了方便表示和比较,会使用另外的方式来存储。IEEE 754是最广泛使用的浮点数运算标准,在标准中规定了四种表示浮点数值的方式:
一头小山猪
2020/04/08
3.8K0
小数在内存中是如何存储的?
连科班生都少有关注的【浮点数】问题!
但用定点数表示小数时,存在数值范围、精度范围有限的缺点,所以在计算机中,我们一般使用「浮点数」来表示小数。
程序视点
2023/12/06
3690
连科班生都少有关注的【浮点数】问题!
浮点数的表示方法
把一个数的有效数字和数的范围在计算机的一个存储单元中分别予以表示。这种把数的范围和精度分别表示的方法,相当于数的小数点位置随比例因子的不同而在一定范围内可以自由浮动,所以称为浮点表示法。
Twcat_tree
2022/11/30
1.8K0
浮点数的表示方法
【C语言】整形数据和浮点型数据在内存中的存储
首先写出它的原码:1000 0000 0000 0000 0000 0000 0000 1000(原码)
修修修也
2024/04/01
1720
【C语言】整形数据和浮点型数据在内存中的存储
IEEE754浮点数的表示方法
浮点数(Floating-point Number)是一种对于实数的近似值数值表现法,由一个有效数字(即尾数)加上幂数来表示,通常是乘以某个基数的整数次幂得到。以这种表示法表示的数值,称为浮点数。表示方法类似于基数为10的科学计数法。利用浮点进行运算,称为浮点计算,这种运算通常伴随着因为无法精确表示而进行的近似或舍入。
恋喵大鲤鱼
2018/08/03
3.3K0
IEEE754浮点数的表示方法
【C语言篇】数据在内存中的存储(超详细)
这是因为所有进制位权重,比如21,162,84,这些都是十进制数,也就是我们在转换过程中使用的都是十进制作为位权来进行的,所以最后转换出来的一定是十进制数
半截诗
2024/10/09
3370
【C语言篇】数据在内存中的存储(超详细)
「硬核JS」数字之美
一直都在佛系更新,这次佛系时间有点长,很久没发文了,有很多小伙伴滴我,其实由于换工作以及搬家的原因,节奏以及时间上都在调整,甚至还有那么一小段时间有点焦虑,你懂的,现已逐渐稳定,接下来频率应该就会高了,奥利给~
isboyjc
2022/03/28
5.8K0
「硬核JS」数字之美
小小的 float,藏着大大的学问
十进制转换二进制的方法相信大家都熟能生巧了,如果你说你还不知道,我觉得你还是太谦虚,可能你只是忘记了,即使你真的忘记了,不怕,贴心的小林在和你一起回忆一下。
小林coding
2020/12/11
1.9K0
小小的 float,藏着大大的学问
浮点数在内存中的存储
常见的浮点数: 3.14159 , 1E10等, 浮点数家族包括 : float , double , long double类型. 浮点数的表示范围在 float.h中定义. (1E10为科学计数法表示1.0 * 2的10次方)
用户11317877
2024/10/16
1020
浮点数在内存中的存储
整数、浮点数在计算机中的存储
  计算机要处理的信息是多种多样的,如数字、文字、符号、图形、音频、视频等,这些信息在人们的眼里是不同的。但对于计算机来说,它们在内存中都是一样的,都是以二进制的形式来表示。要想学习编程,就必须了解二进制,它是计算机处理数据的基础。
mukekeheart
2019/09/29
1.9K0
整数、浮点数在计算机中的存储
深度剖析数据在内存中的存储
计算机中的符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。
海盗船长
2020/08/27
6900
Java 基本类型的各种运算,你真的了解了么?
在上一篇文章 很清晰!带你图解 Java 程序的结构,变量和类型 里,我们知道 Java 的基本类型分整型类型,浮点型类型和布尔类型三种。那针对不同的类型,Java 提供的运算能力也是各有不同,本篇文章就分析下 Java 基本类型里的各种运算是怎么回事。
蜗牛互联网
2021/04/08
8250
汇编代码还原第一讲,基本类型以及浮点编码.
C++中整数的基本数据类型有三种, int long short. 在 VC6.0中,int long所占内存都是4字节. short两个字节. 以16进制为例 int long 分别就是4个字节. short两个字节. 一个字节是8位.
IBinary
2019/05/25
1.2K0
走进 JDK 之 Float
如果你对这个答案抱有疑问,那么在阅读 Float 源码之前,我们先来看一下 Float 在内存中是如何表示的。
路遥TM
2021/08/31
9810
编辑器对于内存的使用——数据的保存与访问使用(浮点数篇)
在上一篇文章中我们已经讨论了整形在编辑器中是如何使用和保存的了,详情请见这篇文章——
比特大冒险
2023/04/16
3210
编辑器对于内存的使用——数据的保存与访问使用(浮点数篇)
【C语言】数据在内存中的存储
整数存储: 整数的二进制表示方法有三种:原码、反码和补码。 三种表示法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位最高位的⼀位是被当做符号位,剩余的都是数值位。
zxctscl
2024/01/23
2050
【C语言】数据在内存中的存储
【C语言进阶】内存中浮点数的存储规则
根据国际标准IEEE(电气和电子工程协会) 754,任意一个二进制浮点数V可以表示成下面的形式:
鸽芷咕
2023/12/25
3080
【C语言进阶】内存中浮点数的存储规则
【C语言基础】:数据在内存中的存储
在讲操作符的时候讲过,整数的二进制表示方法有三种:原码、反码和补码。对于有符号的整数,这三种表示方法均有符号位和数值位两部分,符号位用0表示“正”,用1表示“负”,最高的一位被用来当作符号位,其余的都是数值位。 有符号整数的二进制特点:
爱喝兽奶的熊孩子
2024/04/10
4050
【C语言基础】:数据在内存中的存储
相关推荐
JDK源码分析 Float
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档