数据在内存中的存储
前言
本文会详细介绍数据在内存中的存储,包括整型,字符型及浮点型
一、数据类型介绍
1、数据类型的基本分类
1.1、整型分类
字符型:char unsigned char
短整型:short [int] unsigned short [int]
整型: int unsigned int
长整型:long [int] unsigned long [int]
1.2、浮点型分类
单精度浮点型 : float
双精度浮点型 : double
二、数据在内存中的存储
1、整型在内存中的存储
1.1 原码、反码、补码
整型分为符号位和数值位,符号位为0表示正数,为1表示负数。
对于正数来说,原码、反码、补码均相同,求出原码即可
对于负数来说:
原码:直接将数值按照正负形式转为二进制就是原码
反码: 符号位不变,其他位置数按位取反
补码: 反码+1得到补码
对于整型来说,数据在内存中存储的是补码
1.2求两个整型数据在内存中存储的形式
#include<stdio.h>
int main()
{
int a = 5;
//00000000000000000000000000000101 //补码
//00 00 00 05
int b = -10;
//10000000000000000000000000001010 //原码
//111111111111111111111111111111110101 //补码
//111111111111111111111111111111110110 //补码
//ff ff ff f6
return 0;
}
在内存中,会如何存放a和b呢?