慕田峪1875512
2020-03-19 11:14
32位的操作系统每一个地址编号都是有一个32位的二进制表示也就是8位16进制,可以用一个字节刚好8位来存储,但是64位的操作系统每一个地址编号都是一个64位的二进制编号也就是16位16进制也是可以用一个字节来存储吗,一个字节只有8位现在有16位,所以我这里不理解,希望各位老师能帮忙解惑!
32位操作系统一个字节4位
64位操作系统一个字节8位
首先先说下 你的问题 就稳错了 你没有理解字节的概念
8位2进制 存储一个字节 就是一字节是8位二进制而已 32位系统 就是 简单理解就是一次处理32位
但是这个32位一般理解为的是数据位 因为数据位是32位 所以一般情况下 寄存器也是32位
而地址位使用了32位 更容易实现 所以32位系统使用了32位地址线
32位 就是32位二进制 4位为一个字节 所以32位 是4字节而不是一字节
但是 64位 基本的理解可以理解为 用了64位 表示 但是 实现上其实 没有使用64位
在c语言里理解为64位 代表一个地址就可以 就是8字节
我的理解是:
32位的二进制表示也就是2^32=(2^4)*(2^28)=16*(2^28);
64位的二进制表示也就是2^64=(2^4)*(2^60)=16*(2^60)
Linux C语言指针与内存
116475 学习 · 250 问题
相似问题