深度剖析数据在内存中的存储-初了解

举报
芒果_Mango 发表于 2022/01/15 10:50:35 2022/01/15
【摘要】 数据类型介绍char //字符数据类型short //短整型int //整形long //长整型longlong //更长的整形float //单精度浮点数double //双精度浮点数//C语言有没有字符串类型?->没有 类型的意义:1.使用这个类型开辟内存空间的大小(大小决定了使用范围)。 2.如何看待内存空间的...

数据类型介绍

char        //字符数据类型
short      //短整型
int        //整形
long        //长整型
longlong  //更长的整形
float      //单精度浮点数
double      //双精度浮点数
//C语言有没有字符串类型?->没有

类型的意义:

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


类型的基本归类:

整形家族:

char
unsignedchar
signedchar
short
unsignedshort [int]
signedshort [int]
int
unsignedint
signedint
long
unsignedlong [int]
signedlong [int]

浮点数家族:

float
double

构造类型:

>数组类型
>结构体类型struct
>枚举类型enum
>联合类型union

指针类型

int*pi;
char*pc;
float*pf;
void*pv;

空类型:

void表示空类型(无类型)
通常应用于函数的返回类型、函数的参数、指针类型。

原码反码补码的概念

计算机中的有符号数有三种表示方法,即原码、反码和补码。
三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位三种表示方法各不相同。


原码

直接将二进制按照正负数的形式翻译成二进制就可以。

反码

将原码的符号位不变,其他位依次按位取反就可以得到了。

补码

反码+1就得到补码。


正负数的计算规则是不相同的

正数的原、反、补码都相同。
对于整形来说:数据存放内存中其实存放的是补码。


为什么内存中存放的都是补码

为什么呢?
在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同
时,加法和减法也可以统一处理(CPU只有加法器)此外,补码与原码相互转换,其运算过程是相同的,不需
要额外的硬件电路。


今天就先到这吧~感谢你能看到这里!希望对你有所帮助!欢迎老铁们点个关注订阅这个专题! 同时欢迎大佬们批评指正!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。