课前小知识:
1.众所周知,1B(byte字节)=8bit(比特,也叫“位”)
2.字节(B)是内存的最小信息存储单位,每个字节表示1个地址
---------------->区分重点:
32位表示由32个并排靠在一起的bit组成来表示个地址(0~
),而每个地址都是由1个字节(B)包装的,故32位操作系统的内存为:
byte=
KB=
MB=
GB=4GB,注意这里的
个字节,每个字节由8个小格子(bit)并排拼在一起组成,所以是
个8格子
指针就是地址,32位就有2^32(0~2^32-1)种大小的地址,1个指针表示这32位的地址,所以
32位操作系统的指针(指向地址)占4字节
64位操作系统的指针(指向地址)占8字节
指针调出地址后,CPU就去内存区相应位置取出对应的信息,而每个信息是1个字节大小=256,用来存储基本字符(-128~127)即(1 0000 0000~0111 1111)
-128的原码推算:
补码 | 反码 | 原码 |
1 0000 0000 | 1111 1111 | 1000 0000 |
1个信息存储单位为1字节, 多出的1个1溢出,留下全0 | 补码-1 | 符号位不变, 其余取反 |
2023/6/1更(换了一张清晰的ascii表):
可表示的数值大小通常是以字节为单位的,不存在bit为单位一说,不过我的2^32×2^8是指假如把每个bit看成一个存储单位的虚拟情况,论占了多少个bit位的话是2^32x8,大小是2^32(字节打底)。主要为了防止刚学的误解,如果知道字节最小存储单位就没啥问题了