C语言进阶——数据的存储

首先我们已经学习过的数据类型有

char//字符数据类型

short//短整型

int//整形

long//长整型

long long//更长的整形

float //单精度浮点数

double//双精度浮点数

unsigned ……//无符号类

它们的出现是为了使计算机能够更好的计算和解决问题。

在一段时间的学习中,我们可以将C语言的数据类型基本分为

一、类型基本的划分

整形:

char unsignde char、signed char

short unsigned short [int]、signed short [int]

int unsigned int、 signed int

long unsigned long [int]、signed long [int]

浮点型:

float

double

构造类型:

数组类型 [ ]

结构体类型 struct

枚举类型 enum

联合类型 union

指针类型

       

二、整形在内存中的存储

变量的创建是要在内存中开辟空间的。空间的大小是根据不同的类型而决定的

 

一个int型占4个字节,所以它所占的内存大小就是4个字节空间

在计算机中,数据存储只能用二进制表示 0和1,而整型的存储方式有三种:原码,反码,补码,符号位是最高位的0表示整数,1表示负数。

原码:按照整形大小转化为二进制

反码:原码符号位不变,其他位按位取反

补码:反码+1得到的就是补码

原反补三者之间是可以相互转换,而内存中保留的就是补码。

三、大小端的介绍

大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中。

小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位,,保存在内存的高地

址中。

计算机在内存中以字节为单位,在多字节的类型存储当中就存在排序问题,所以就出现了大小端存储模式。既然是字节的排序,则单字节的char类型无大小端之分。

 

四。浮点数在内存中的存储

 

 

这个例子,我们也可以看出相同的地址,在不同的类型输出当中存在很大的差异,所以说内存当中整形与浮点数的存储方式不同。

浮点数的存储方式如下;

 

对与32位的浮点数:

对与64位的浮点数:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山山人行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值