0

我在阅读 CS 书籍时遇到了以下问题,有人可以向我解释一下吗?>“小人计算机可以有十个操作码(0-9)和存储地址100个字(0-99)。如果用二进制数代替十进制数,LMC每个字的最小位数必须是多少是?”

4

2 回答 2

1

由于您需要能够区分 10 个操作代码,因此最小字长必须为 4 位。使用 4 位,您最多可以表示 2^4 = 16 个可能的代码(因为每个位可以是 0 或 1)。任何小于 (2^3 = 8) 的内容都不允许每个代码使用单独的二进制数。

于 2013-07-07T06:43:17.093 回答
0

小人计算机是一种将一条指令保存在一个字中的架​​构,因此一个字必须同时包含操作码和地址。这意味着你必须持有 000 到 999,所以我的答案是 10 位。您可以假设问题暗示操作码和地址位于不同的字段中 - 在这种情况下,操作码需要 4 位,地址需要 7 位,总共 11 个。

请注意,LMC 具有“如果大于或等于零则跳转”指令,这意味着您必须能够表示负数 - 这意味着内存具有符号位。我自己的模拟允许 -999 到 +999 作为内存中的数字。

于 2015-01-05T14:47:15.040 回答