数据的存储

c语言类型
1、内置类型:char short int long float double
2、自定义类型(构造类型)
数组类型 int arr[10] char arr[10]
结构体类型struct
枚举类型enum
联合类型union
指针类型 intpi charpn
空类型 void 表示空类型(无类型) 通常应用于函数的返回类型、函数的参数、指针类型

类型的意义:
1、 使用这个类型开辟内存空间的大小(大小决定了使用范围。
2、 如何看待内存空间的视角。

整型在内存中的存储
有符号数:1、负数原反补不同2、正数原反补相同
无符号数:原反补相同
原码转换到补码的过程:负数–原码(直接按照正负,原码的符号位不变,其它位按位取反)-反码(反码+1)-补码
补充:对于整形来说:数据存放内存中其实存放的是补码
无符号char范围:0-255 有符号char范围:-128-127
char short int long 有符号范围查limits.h float double 有符号范围查float.h

大小端介绍
大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位保存在内存的低地址中;
小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中
举例:0x11223344 存储为11223344是大端模式,存储为44332211是小端模式。
出现大小端的原因:寄存器宽度大于一个字节,如何将这些字节安排,或者说是按照什么顺序排列。

浮点型在内存中的存储
根据国际标准IEEE(电气和电子工程协会) 754,任意一个二进制浮点数V可以表示成下面的形式:
(-1)^S * M * 2^E
(-1)^s表示符号位,当s=0,V为正数;当s=1,V为负数。
M表示有效数字,大于等于1,小于2。
2^E表示指数位
在这里插入图片描述
在这里插入图片描述
然后,指数E从内存中取出还可以再分成三种情况:
1、E不全为0或不全为1
E不论为正负,加上127再表示出来
2、E全为0
这时候的数无限接近于0
3、E全为1
这时候的数无穷大或无穷小
举例:
单精度符点型5.5打印成整型步骤:
101.1
(-1)^0 1.011 2^2
S=0
M=1.011
E=2
0 10000001 01100000000000000000000
其中10000001=129=2+127=E+127 E保存时加127

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值