-1

我可能有更多的数学问题,但这个问题源于阅读我在虚拟内存一章中的计算机系统书籍......所以我觉得在这里问它是有道理的。

书中指出:

每个虚拟页面的大小为P = 2 p字节。

我的代数生锈了,这可能是我需要问这个的原因。现在,对于我正在查看的示例,我们知道P = 1024. 这是否意味着我可以p通过简单地确定哪些p会导致

1024 = 2
真的?

如果我的顿悟是真实且正确的,那么 1024 = 2 10应该是我的答案。即P=1024p=10

4

4 回答 4

3

是的。这只是一个和其他方程式一样的方程式。

于 2009-08-09T20:37:57.670 回答
2

的。

为了解决p您需要使用对数函数 base 2。解决

P = log(p, 2)

或者

10 = log(1024, 2)

如果您没有可用的方便的对数函数来设置基数,则可以使用它。有趣的是,在这两个函数中使用什么日志库并不重要,只要它们相同即可:

P = log(p) ÷ log(2)

对数是指数的反面——它们只是一种计算你必须将一个数字自身相乘才能得到答案的次数的方法,并扩展到支持答案不是原始数字的整数幂的情况。

希望这可以帮助。

于 2009-08-09T20:41:30.657 回答
0

我认为这个问题与编程无关,但无论如何,与f(x)=axis相反g(x)=log(x)/log(a)。您只需要获取 P=1024 的以 2 为底的对数即可找到p10。

于 2009-08-09T20:38:27.310 回答
0

您要的是二进制对数(ld n)。您通过重复除以 2 来计算它,当您达到 1 时中断,并计算您划分的频率(这实际上只是它的整数部分 +-1,但对于 2 的幂,对数是自然数)。

于 2009-08-09T20:39:29.570 回答