byte - 需要多少位来寻址这么多的内存?

标签 byte bits

我正在上一门编程基础知识 class ,目前正在讨论关于位的计算机组织和操作-CPU(ALU,CU,寄存器等)如何工作的这一章。

我对二进制语言有很好的理解。我了解符号/幅度格式/ 1的补码,2的补码等。

在书中,我了解到一个半字节= 4位,8位= 1个字节,接下来是一个单词-通常按组:8位,16位,32位或64位(依此类推),所有这些使得对我来说很完美这是我的作业问题,这让我感到困惑:

“一台计算机有64 MB的内存,每个字为4个字节。需要多少位来寻址内存中的每个字?”

好吧,我现在很困惑。这本书只是告诉我,一个字通常是8的倍数。
但是我知道1字节= 8位,所以既然有4字节,而1字节= 8字节,那么认为4字节x 8位= 32位是否正确?这是答案吗?

最佳答案

1位地址可以寻址两个字(0、1)。

2位地址可以寻址四个字(00、01、10、11)。

3位地址可以寻址8个字(000、001、010、011、100、101、110、111)。

因此,第一个答案:您有多少个单词?然后回答:您的地址需要多少位才能寻址?

关于byte - 需要多少位来寻址这么多的内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7543763/

相关文章:

python - Python中关于字节字符串和base64编码的困惑

memory - 内存地址是什么意思?

c# - C#字节加法溢出?

streaming - 字节流和比特流的区别

.net - 如何从字节中读取前 4 位和后 4 位?

c - 强制字节顺序

vb.net - 错误: Value of type 'Byte' cannot be converted to '1-dimensional array of byte' in vb.net

processor - 我们如何确定处理器是否为8位? 16位或32位

assembly - 位字节字和双字 - 何时在汇编中使用什么?

random - 寻找一个清晰简洁的网页,解释为什么随机数的低位通常不是那么随机