-1

もっと数学的な質問かもしれませんが、この質問は、仮想メモリの章でコンピューターシステムの本を読んだことに端を発しているので、ここで質問するのは正当だと感じています。

本には次のように記載されています。

各仮想ページのサイズはP = 2 pバイトです。

私の代数はさびているので、おそらくこれを尋ねる必要があります。今、私が見ている例については、私たちはそれを知っていP = 1024ます. これは、pどちらp

1024 = 2p
真実?

私のひらめきが真実で正しいなら、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)

底を設定できる便利な対数関数が利用できない場合は、これを使用できます。興味深いことに、2 つの関数で使用する対数ベースが同じであれば問題ありません。

P = log(p) ÷ log(2)

対数は指数の反対です。対数は、答えを得るために数を掛けなければならない回数を数える方法に過ぎず、答えが元の数の整数乗ではない場合をサポートするために拡張されています。

お役に立てれば。

于 2009-08-09T20:41:30.657 に答える
0

この質問は、プログラミングに関係のない境界線にあると思いますが、とにかく、の逆f(x)=axg(x)=log(x)/log(a). を見つけるには、P=1024 の底 2 の対数を取得する必要がありますp。これは 10 です。

于 2009-08-09T20:38:27.310 に答える
0

あなたが求めているのは、バイナリ対数(ld n)です。2 で割ることを繰り返し、1 になったら割って、割った回数を数えることで計算します (これは実際には +-1 の整数部分ですが、2 のべき乗の場合、対数は自然数になります)。

于 2009-08-09T20:39:29.570 に答える