计算机系统类和虚拟内存 - 代数工作

问题描述:

我有什么可能是更多的数学问题,但这个问题是源于在虚拟内存章节阅读我的计算机系统书...所以我觉得有道理在这里问它。计算机系统类和虚拟内存 - 代数工作

书中指出:

每个虚拟页是P = 2 p在大小字节。

我的代数是生锈的,这可能是我需要问这个问题的原因。现在,我正在看一个例子,我们知道P = 1024。这是否意味着我可以通过简单地识别哪个p会使

1024 = 2 p
是真实的?

如果我的顿悟是真实无误的,那么1024 = 2 应该是我的答案。那是P=1024p=10

是的。这只是一个像其他任何方程式一样。

+0

谢谢你的直接答案。 – 2009-08-09 20:46:57

我认为这个问题是不是编程相关的边缘,但无论如何,中f(x)=ax逆是g(x)=log(x)/log(a)。你只需要得到P = 1024的基数2的对数就可以找到p,这就是10.

+0

它不应该是'ln(x)/ ln(a)'吗? – 2009-08-09 20:42:48

+0

我确实承认这是一个边界问题,但它与计算机科学有关。其他人可能需要这些信息。 – 2009-08-09 20:45:24

+2

它适用于任何对数基数。只是用欧拉常数e作为基础。 – 2009-08-09 20:45:32

你要求的是二进制对数(ld n)。通过重复除以2来计算它,当你达到1时打破它,并且计算你分裂的频率(实际上它只是它的整数部分+ -1,但是对于2的幂,对数是一个自然数)。

为了解决p您需要使用对数函数,基地2。求解

P = log(p, 2) 

10 = log(1024, 2) 

如果你没有提供给你一个方便,花花公子对数函数,它可以让你设置的基础上,你可以用这个。有趣的是,它并不重要基地登录您在两个功能使用,只要它们是相同的:

P = log(p) ÷ log(2) 

对数是指数的对立面 - 他们只是一个方法来计算的数你必须乘以一个数字来得到答案,扩展为支持那些答案不是原始数字整数的情况。

希望这会有所帮助。

+0

它确实有帮助,谢谢。 – 2009-08-09 20:48:05