2009-08-09 79 views
-1

我有什麼可能是更多的數學問題,但這個問題是源於在虛擬內存章節閱讀我的計算機系統書...所以我覺得有道理在這裏問它。計算機系統類和虛擬內存 - 代數工作

書中指出:

每個虛擬頁是P = 2 p在大小字節。

我的代數是生鏽的,這可能是我需要問這個問題的原因。現在,我正在看一個例子,我們知道P = 1024。這是否意味着我可以通過簡單地識別哪個p會使

1024 = 2 p
是真實的?

如果我的頓悟是真實無誤的,那麼1024 = 2 應該是我的答案。那是P=1024p=10

回答

3

是的。這只是一個像其他任何方程式一樣。

+0

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

0

我認爲這個問題是不是編程相關的邊緣,但無論如何,中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

0

你要求的是二進制對數(ld n)。通過重複除以2來計算它,當你達到1時打破它,並且計算你分裂的頻率(實際上它只是它的整數部分+ -1,但是對於2的冪,對數是一個自然數)。

2

爲了解決p您需要使用對數函數,基地2。求解

P = log(p, 2) 

10 = log(1024, 2) 

如果你沒有提供給你一個方便,花花公子對數函數,它可以讓你設置的基礎上,你可以用這個。有趣的是,它並不重要基地登錄您在兩個功能使用,只要它們是相同的:

P = log(p) ÷ log(2) 

對數是指數的對立面 - 他們只是一個方法來計算的數你必須乘以一個數字來得到答案,擴展爲支持那些答案不是原始數字整數的情況。

希望這會有所幫助。

+0

它確實有幫助,謝謝。 – 2009-08-09 20:48:05