前言
本篇文章叙述c语言中整型数据在内存中的存储方式。
一、整型数值在内存中的存储
1.1 整型数值的表示形式
| 形式 |
数值范围 |
| 二进制 |
{0,1} |
| 八进制 |
{0,1,2,3,4,5,6,7} |
| 十进制 |
{0,1,2,3,4,5,6,7,8,9} |
| 十六进制 |
{0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f} |
1.2 二进制的表示形式
正整数:原码、反码、补码相同。
负整数:原码、反码、补码需要计算。
| 形式 |
计算规则 |
| 原码 |
直接通过整数正负写出的二进制序列 |
| 反码 |
原码符号位不变,其余按位取反 |
| 补码 |
反码+1 |
例如:32位机器为例
正整数
int a =