鱼C论坛

 找回密码
 立即注册
查看: 4862|回复: 10

C语言不同数据类型在内存中的表示怎么不同呢?

[复制链接]
发表于 2013-6-2 21:19:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
     比如说float和int 在C语言VC++里面都是4个字节。但是内存如何识别它是整形还是浮点型呢?求高手指导啊。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-6-2 22:38:24 | 显示全部楼层
浮点型是八个字节啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-6-2 23:08:32 | 显示全部楼层
:@:o:PBJBJKBJKNNJK

评分

参与人数 1鱼币 -1 收起 理由
yuan71058 -1 请不要无意义灌水!

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-6-3 05:44:35 | 显示全部楼层
在内存中都是2进制 没有不同
主要看你怎么取 你取4个字节就是int 取8个字节就是double
65 你%d就是整数65    %c就是字符A一样

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-6-3 05:45:44 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-6-3 09:56:20 | 显示全部楼层
对于
float a;
int b;
这里 编译器 遇到 a 编译器能知道是一个float 那么他就把a所在的内存中的数据按照float处理
编译器 遇到b 能知道b是一个int 将b所在是数据按照 int处理

内存中的数据是怎么解释 和定义的时候 的数据类型有关
和数据类型的尺寸没什么关联
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-25 22:18:51 | 显示全部楼层
   33                    没咋看懂,不过希望以后能和大家在鱼C里一起学习!!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-26 09:51:12 | 显示全部楼层
本帖最后由 福禄娃娃 于 2013-7-26 09:52 编辑

比如 int i = 100;  汇编代码为 mov   dword ptr [ebp-4],64h
float j = 200.00   汇编代码为 mov   dword ptr [ebp-8],43480000h
数值在内存都是以补码形式存放
int型容易看,64h就是十进制的100  二进制形式为01100100
float型单精度浮点数比较复杂: 1位符号位   8位阶码位   23位尾数
所以200.00的二进制形式为1000011010010000000000000000000


双精度浮点数: 1位符号位   8位阶码位   52位尾数

实数在内存中以规范化的浮点数存放,包括数符、阶码、尾数。数的精度取决于尾数的位数。比如32位机上float型为23位       double型为52位。

单精度float型存储在内存中的大小为4个字节,即32位。


小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-26 10:13:32 | 显示全部楼层
你说是啥 编译器 就按照啥去解析。 内存中都是01,没啥区别
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-26 10:27:04 | 显示全部楼层
指间的阳光 发表于 2013-6-2 22:38
浮点型是八个字节啊

4个啊,亲,别误导了新手啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2013-7-26 10:41:01 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-26 23:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表