32位和64位操作系统的最大内存计算方法

课前小知识:

1.众所周知,1B(byte字节)=8bit(比特,也叫“位”)

2.字节(B)是内存的最小信息存储单位,每个字节表示1个地址

---------------->区分重点:

32位表示由32个并排靠在一起的bit组成来表示eq?2%5E%7B32%7D个地址(0~eq?2%5E%7B32%7D-1),而每个地址都是由1个字节(B)包装的,故32位操作系统的内存为:

eq?2%5E%7B32%7Dbyte=eq?2%5E%7B22%7DKB=eq?2%5E%7B12%7DMB=eq?2%5E%7B2%7DGB=4GB,注意这里的eq?2%5E%7B32%7D个字节,每个字节由8个小格子(bit)并排拼在一起组成,所以是eq?2%5E%7B32%7D个8格子

指针就是地址,32位就有2^32(0~2^32-1)种大小的地址,1个指针表示这32位的地址,所以

32位操作系统的指针(指向地址)占4字节

64位操作系统的指针(指向地址)占8字节

指针调出地址后,CPU就去内存区相应位置取出对应的信息,而每个信息是1个字节大小eq?2%5E%7B8%7D=256,用来存储基本字符(-128~127)即(1 0000 0000~0111 1111)

-128的原码推算:

补码反码原码
1 0000 00001111 11111000 0000

1个信息存储单位为1字节,

多出的1个1溢出,留下全0

补码-1

符号位不变,

其余取反

 

2023/6/1更(换了一张清晰的ascii表):

        可表示的数值大小通常是以字节为单位的,不存在bit为单位一说,不过我的2^32×2^8是指假如把每个bit看成一个存储单位的虚拟情况,论占了多少个bit位的话是2^32x8,大小是2^32(字节打底)。主要为了防止刚学的误解,如果知道字节最小存储单位就没啥问题了

3881e348694732fbcfa29f640edfacbc.jpeg

 

 

 

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值