7个回答
展开全部
内存中的每一个字节都进行了编号,这个编号就是地址,地址的意义在于我们可以快速读取到这个地址上面的数据,编号越大说明这个字节距离初始字节越远,那么最远的地址有多大呢?
如果是32位系统,主流计算机是二进制的,那么这个系统的最大寻址能力是2^32,就是32位电脑最多支持4G运存,那么最远的地址就是4G运存的最后一位字节,给这个字节编号就是2^32(一般把这个数用16进制表示),为了能表达这个最大的位置数,就需要想办法了
一个字节有8个比特位,1个比特位只能表达1和0两个数,2个比特位可以表达4个数,要表达2^32个数,就需要32个比特位,也就是4个字节,所以一个指针变量至少需要4个字节才够用。那为什么不用5个字节6个字节呢,浪费内存资源。
同样64位系统最大的距离是2^64,为了表达这个最大位置,就需要64个比特位,也就是8个字节。
如果是32位系统,主流计算机是二进制的,那么这个系统的最大寻址能力是2^32,就是32位电脑最多支持4G运存,那么最远的地址就是4G运存的最后一位字节,给这个字节编号就是2^32(一般把这个数用16进制表示),为了能表达这个最大的位置数,就需要想办法了
一个字节有8个比特位,1个比特位只能表达1和0两个数,2个比特位可以表达4个数,要表达2^32个数,就需要32个比特位,也就是4个字节,所以一个指针变量至少需要4个字节才够用。那为什么不用5个字节6个字节呢,浪费内存资源。
同样64位系统最大的距离是2^64,为了表达这个最大位置,就需要64个比特位,也就是8个字节。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把一个地址看成一个盒子,一个盒子只能装一个字节(也就是8位、8bit)。你看到的4个字节,其实是32位,其实是这个盒子的门牌号。总共有2^32个盒子。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
真是无语 是谁给你说的一个地址占4个字节 不要被误导好吗
地址哪有什么大小 我可以分配一块10万字节的地址 也可以分配一块1个字节的地址
你说的占4个字节的东西叫指针 准确的说叫指针变量 指针变量也是变量 是存储变量地址的变量
概念分清楚 指针变量不是地址 只是放地址的变量
地址哪有什么大小 我可以分配一块10万字节的地址 也可以分配一块1个字节的地址
你说的占4个字节的东西叫指针 准确的说叫指针变量 指针变量也是变量 是存储变量地址的变量
概念分清楚 指针变量不是地址 只是放地址的变量
追问
请问指针变量占四个字节的原因是?
追答
指针变量 其实储存的是地址编号 也就是一个整数 一个整型数字在C中就是占4个字节
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一个字节一个地址 每一个字节被分配一个地址 不是一个字节等于一个地址
一个地址占4个字节 因为32位cpu访问的内存地址(二进制)都是:由0和1组成的32位数 1b(字节)=8bit(用0或1表示) 32/8=4
有错帮忙指出来
一个地址占4个字节 因为32位cpu访问的内存地址(二进制)都是:由0和1组成的32位数 1b(字节)=8bit(用0或1表示) 32/8=4
有错帮忙指出来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询