C语言中数据的存储中的整型在内存中的存储和大小端介绍

目录

一.数据类型介绍

二.类型的基本归类

整型家族

浮点数家族

构造类型

指针类型

空类型

三.整型在内存中的存储

原码、反码、补码

原码

反码

补码

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

举个例子

四.大小端介绍

什么大端小端︰

 看看a,b的地址

用图解释一下

 为什么会有大小端模式之分呢?

百度笔试题:设计一个小程序来判断当前机器的字节序。

解题思路

代码

 代码(改进)

 代码(进一步改进)


一.数据类型介绍

前面我们已经学习了基本的内置类型︰

  1. char  //字符数据类型
  2. short //短整型
  3. int     //整型
  4. long  //长整型
  5. long long  //更长的整型
  6. float          //单精度浮点数
  7. double      //双精度浮点数

以及他们所占存储空间的大小。类型的意义∶

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

二.类型的基本归类

整型家族

char
        unsigned char
        signed char
short
        unsigned short[int]
        signed short[int]
int
        unsigned int
        signed int
long
        unsigned long[int]
        signed long[int]

浮点数家族

float
double

构造类型

  1. 数组类型
  2. 结构体类型 struct
  3. 枚举类型 enum
  4. 联合类型 union

指针类型

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

空类型

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

代码解释void表示函数的返回类型

#include<stdio.h>
void test(void)
{
    printf("hehe\n");
}
int main()
{
    test();
    return 0;
}

这样就可以正常输出hehe,而如果main函数中的test中有变量或常量,再这样运行就会报错。

三.整型在内存中的存储

我们之前讲过一个变量的创建是要在内存中开辟空间的。空间的大小是根据不同的类型而决定的。
那接下来我们谈谈数据在所开辟内存中到底是如何存储的?
比如:
int a=20;
int b=-10;

我们知道为a分配四个字节的空间。那如何存储?下来了解下面的概念︰

原码、反码、补码

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

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

阳862

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

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

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

打赏作者

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

抵扣说明:

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

余额充值