本文重点:

  1. 数据类型详细介绍
  2. 整形在内存中的存储:原码、反码、补码
  3. 大小端字节序介绍及判断
  4. 浮点型在内存中的存储解析

数据类型结构的介绍:

类型的基本归类:

整型家族

浮点家族

构造类型:

指针类型:

空类型:

整形在内存中的存储:

F10开始逐句调试,再打开窗口中的内存,在搜索栏查看a的地址如下图所示。

可以看到在将20存入a的地址中,在内存窗口的表示形式是14 00 00 00,再看下图变量b中-10的表示形式。

可以看到再内存中b变量中的-10表示为f6 ff ff ff,那么为什么会出现这样的结果呢?那就不得不提到原码,反码,补码了。

原码,反码,补码:

正数的原、反、补码都相同。

对于整形来说:数据存放内存中其实存放的是补码。

下面将以画图形式展示:

下面将有一道练习题:

define _CRT_SECURE_NO_WARNINGS

include <stdio.h>

int check_sys()
{

int a = 1;
return *(char*)&a;//如果是小端存储第一位会为1,大端则相反。

}
int main()
{

int ret = check_sys();//判断函数返回1为小端,返回0为大端
if (ret == 1)
{
    printf("小端\n");
}
else
{
    printf("大端\n");
}
return 0;

}

下图会用画图方式讲解这题:

浮点型在内存中的存储:

解释前面的题目:

ec54475b317aa6017bc9beafb9a225ed_9196f95c5d704ee9ab22039098c03315.png


唠叨的甘蔗
1 声望1 粉丝