课程
/后端开发
/C
/Linux C语言指针与内存
老师,32位计算机是有2的32次方种状态,那么一种状态上面不是应该有32位字节码吗,为什么一种状态就能算作一个字节,不应该是32/8等于4个字节吗,求老师解释,
2016-12-21
源自:Linux C语言指针与内存 4-2
正在回答
"32位计算机是有2的32次方种状态" 引用提问者的话,
答:32位计算机能给系统分配2的32次方个内存地址,注意这里说的是“内存地址”,也就是每个内存的门牌号码。换句话说,32位操作系统给内存编号只能编到32个二进制位,能组合成2的32次方个状态或地址。
因为内存是按字节寻址的,即每个地址对应一个字节,这是规定好的,或者说是硬件限制的
你的问题是把内存地址与内存空间搞混了,内存地址是门牌号码,内存空间相当于一个小房子,一个小房子对应一个门牌号码(地址),一个小房子占用一个字节的内存空间,那32位操作系统能分配多少个房子呢——2的32次方个,这样整个的内存就是2的32次方个字节,即4G内存。
是32位的地址总线,可以有2的32次方种寻址组合,内存的每个地址中只有一个字节。不是4个字节
qq_浅眸_0 提问者
举报
指针-C语言的核心,代领大家对c语言有更加深刻的理解
1 回答内存储存问题
2 回答关于地址的问题 0x7fffffffffff 是否大大超过了 电脑的8g内存空间
3 回答变量存储在栈的问题#
1 回答关于内存的问题
3 回答关于内存地址问题