社区
C语言
帖子详情
double型数据在内存中是怎么存储的?
BigRytian
2010-11-11 02:04:47
RT
请高手们帮我解释一下,做好有个简单的例子。
把一个十进制double型数变为机器存储的二进制,然后再变回来。
再次谢过各位了。
...全文
502
9
打赏
收藏
double型数据在内存中是怎么存储的?
RT 请高手们帮我解释一下,做好有个简单的例子。 把一个十进制double型数变为机器存储的二进制,然后再变回来。 再次谢过各位了。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
buer3587se
2010-11-13
打赏
举报
回复
指数形式,分开存,和整数存储不太一样
lxiron
2010-11-12
打赏
举报
回复
刚开的没有看完,不过讲的比较详细
http://blog.csdn.net/masefee/archive/2010/01/30/5272554.aspx
yashuwa0622cvte
2010-11-11
打赏
举报
回复
浮点的存储方法与整形有点不一样
yashuwa0622cvte
2010-11-11
打赏
举报
回复
推荐书籍 《深入理解计算机系统》
liups
2010-11-11
打赏
举报
回复
这个比较复杂,可以看这里
http://www.cnblogs.com/jillzhang/archive/2007/06/24/793901.html
try325
2010-11-11
打赏
举报
回复
指数形式,分开存
phpjspasp
2010-11-11
打赏
举报
回复
搜一下ieee754
浮点数
double
在
内存
中的
存储
方式
C语言中浮点数在
内存
中的
存储
方式 C语言中,对于浮点类
型
的
数据
采用单精度类
型
(float)和双精度类
型
(
double
)来
存储
,float
数据
占用32bit,
double
数据
占用64bit,我们在声明一个变量float f= 2.25f的时候,是如何分配
内存
的呢? float在
内存
中的
存储
方式如下图所示:
double
在
内存
中的
存储
方式如下图所示: 无论是单精度还是双精度在
存储
中都分为三个部分: 1.符号位(Sign) : 0代表正,1代表为负 2.指数位(Exponent):用于
存储
科学
深度分析
数据
在
内存
中的
存储
形式
文章目录一、
数据
的基本类
型
介绍二、整
型
在
内存
中的
存储
形式1.原码、反码、补码2.大小端介绍3.浮点
型
在
内存
中的
存储
一、
数据
的基本类
型
介绍 char//字符
数据
类
型
short//短整
型
int//整形 long//长整
型
long long //更长的整形 float//单精度浮点数
double
//双精度浮点数 二、整
型
在
内存
中的
存储
形式 一个变量的创建是要在
内存
中开辟空间的。空间的大小是根据不同的类
型
而决定的。那接下来我们谈谈
数据
在所开辟
内存
中到底是如何
存储
的? 比如: int a = 20
double
数据
的
内存
存储
方式
从
存储
结构和算法上来讲,
double
和float是一样的,不一样的地方仅仅是float是32位的,
double
是64位的,所以
double
能
存储
更高的精度。 任何
数据
在
内存
中都是以二进制(0或1)顺序
存储
的,每一个1或0被称为1位,而在x86CPU上一个字节是8位。比如一个16位(2字节)的short int
型
变量的值是1000,那么它的二进制表达就是:00000011 111
double
float 类
型
在
内存
中的
存储
形式
浮点数分为 单精度和双精度,在
内存
中都分为三部分; ①符号位; ②指数位; ③尾数位; Float类
型
内存
形式: 图1 float类
型
在
内存
中的形式
double
类
型
内存
形式: 图2
double
类
型
在
内存
中的形式 根据浮点数的
存储
标准(IEEE制定 https://en.wikipedia.org/wiki/IEEE_754-1985 ), float类
型
指数的起始数为127(二进制0111 1111),即指数为0111 1111时代表科学计数法的指数位为0;
double
类
型
指数的起始数为1023(
C语言-
double
和float在
内存
中的
存储
方式
从
存储
结构和算法上来讲,
double
和float是一样的,不一样的地方仅仅是float是32位的,
double
是64位的,所以
double
能
存储
更高的精度。任何
数据
在
内存
中都是以二进制(0或1)顺序
存储
的,每一个1或0被称为1位,而在x86CPU上一个字节是8位。比如一个16位(2 字节)的short int
型
变量的值是1000,那么它的二进制表达就是:00000011 11101000。
C语言
70,022
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章