课程
/后端开发
/C
/Linux C语言指针与内存
我用数电的逻辑来考虑这个寻址空间的问题是,32位不是32个字节,是32个二进制位,2^32是位数,而不是字节数,这样的话,我就不能理解上面是视频中所讲的2^32个字节的意思了。请问有谁能帮我解惑一下的吗?
2018-01-15
源自:Linux C语言指针与内存 4-2
正在回答
因为cpu的地址总线是32位,也就是寻址空间是32位,如果把内存地址比作一户人家的门牌号,那么32位的寻址空间可以给2^32户人家分配门牌号,而计算机中一个内存单位为1个字节,故而32位的操作系统只能使用2^32=(2^10)* (2^10)* (2^10)*( 2^2)=4G字节的内存,这样说应该很清晰了
一种状态或者说一种32位的0和1的组合代表一个字节,这里的字节代表一个存储单位,所以有多少个寻址状态就有多少个存储单位,也就对应多少字节,个人理解
我个人,理解 ,老师说这个,2^32只是教学,说法,其实还有一个符号位,真正是2^31..如果不对,还请一起交流一下。
举报
指针-C语言的核心,代领大家对c语言有更加深刻的理解
3 回答32位系统中有4G的寻址空间,每个地址是32位的,那么每个地址应该包含4个字节
2 回答关于地址的问题 0x7fffffffffff 是否大大超过了 电脑的8g内存空间
4 回答关于地址的问题??
2 回答关于存储空间
1 回答栈地址问题
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号