一个字节为8位(1 Byte = 8 bit)
二进制:一个字节的范围:0000 0000 ~ 1111 1111
表示为16进制(Hex):0x00 ~ 0xFF,即16进制下两个数字代表一个字节长度
例:
0xA621:两个字节
0x56:一个字节
内存中的形式
在调试时,查看内存时,通常为如下形式:
地址 内容 内容 内容 ...
0xb05d00a0 00 30 55 00 00 25 44 11 21 22
0xb05d00aa 54 a2 11 20 55 00 00 31 77 89
此处涉及到3个概念:数据,地址,地址长度,三者都可以用16进制表示
数据
00 30 55 00 00 25 44 11 21 22:每两个数字代表一个字节长度,此条共有10个字节的数据
地址
0xb05d00a0到0xb05d00aa的增量(10)的单位为字节,即地址表示的是每个字节的位置
即:
00的地址为0xb05d00a0
30的地址为0xb05d00a1
55的地址为0xb05d00a2
...
地址长度
开发时经常会提到地址长度,单位为字节,长度计算原则即上文所解释的原则
(此处的16进制表示的是地址长度,单位字节,注意与地址加以区分,与内存中的数据加以区分)
常用地址长度:
0x800:2k(转为十进制即2048,即2k)
0x1000:4k