持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第15天,点击查看活动详情
一、数据类型详细介绍
1、内置类型
==内置类型就是C语言中自带的数据类型。在之前的学习中也有一定的了解:==
char short int long long long float double
2、类型的意义
- 1、使用这个类型开辟内存空间的大小(大小决定了使用范围)
- 2、如何看待内存空间的视角
3、类型的归类
1、整型家族
2、浮点型家族
3、构造类型(自定义类型)
==数组也是一种自定义类型,数组去掉数组名就是类型==
int main()
{
int arr[10];//int [10]
int arr[5];//int [5]
return 0;
}
4、指针类型
5、空类型
void表示空类型(无类型) 通常应用于函数的返回类型、函数的参数、指针类型
二、整型在内存中的存储
1、原码、反码、补码
==数据在内存中是以二进制的形式进行存储的。对于整数来说,整数的二进制有3种表示形式:原码、反码、补码== ==对于正负整数来说有符号位之分:如果为正,高位为0;如果为负,高位为1==
正整数:原码、反码、补码相同 ---------------------------------------------------------分割----------------------------------------------------------------------- 负整数:原码、反码、补码之间的转换是需要计算的 原码:根据数值直接写出它的二进制序列 反码:原码的符号位不变,其它位按位取反 补码:反码+1 ==注意:整数在内存中存储的是补码,而打印出来给人看到的是原码==
2、为什么在内存中是以补码的形式进行存储的
==CPU只有加法器,只可以做加法运算,减法等运算都是用加法去模拟的==
==官方来说:在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理(CPU只有加法器),此外,补码和原码相互转换,其运算过程是相同的,不需要额外的硬件电路==
==验证补码在内存中存储并计算:==
==1 - 1 -> 1 + (-1):== --------------------------------------使用原码进行计算-------------------------------------
--------------------------------------使用补码进行计算-------------------------------------
3、-10的存储
==这里有一个点就是在当前编译器下-10在内存中是倒着存储的==