タグ付けされた質問 「binary-arithmetic」


2
入力を広げる機能
次の特性を持つnビット数からnビット数までの関数があるかどうかを知りたいfff: fffは全単射で必要があります 両方の及び計算可能かなり高速であるべきですffff−1f−1f^{-1} fffは、入力と有意な相関関係のない数値を返す必要があります。 その理由は次のとおりです。 データを操作するプログラムを書きたい。データの一部の情報は、検索キーがアルファベットの記号であるバイナリ検索ツリーに保存されます。時間とともに、アルファベットにさらに記号を追加します。新しいシンボルは、利用可能な次の無料番号を取得するだけです。したがって、ツリーは常に小さなキーに対して小さなバイアスを持ち、必要以上にリバランスが発生します。 私のアイデアは、シンボル番号を範囲全体に広く広がるようにマングルすることです。シンボル番号は、一度だけ発生する入出力中にのみ重要であるため、このような関数を適用することはそれほど高価ではありません。fff[0,264−1][0,264−1][0,2^{64}-1] Xorshift乱数ジェネレーターの1つの反復について考えましたが、理論的には可能であるはずですが、元に戻す方法は実際にはわかりません。 誰もがそのような機能を知っていますか? これはいいアイデアですか?

5
2 ** xはexp(x)よりも計算が速いですか?
私がこの質問をする方法で明らかになるであろう素朴さ、そして私がそれを求めているという事実を許してください。 数学者は、通常、expexp\expを使用します(理論により)理論上最も単純な/最も基本的なものです。しかし、コンピューターはすべてをバイナリで実行するように見えるので、コンピューター上で計算する2**xよりも高速Math::exp(x)ですか?

1
整数の大きなべき乗のビット数を計算する
バイナリ表現で2つの整数とが与えられた場合、ビットサイズを計算する複雑さは何ですか?n x nバツxxんnnバツんxnx^n これを行う1つの方法は、十分な精度で近似を計算することにより、を計算することです。これは、表示されるコンピューティングと精度のビットで行うことができる、長さの二つの整数の積を計算するのに必要な時間である。この利回り複雑さの(特別に単純ではない)アルゴリズムおよそ場合両方のビットサイズに拘束されおよび(私はエラーをしなかった場合)。ログ2(Xの)ログ2(X )K O (M (K )のログ・K )M (K )K O (S ログ2 s )s x n1 + ⌊ ログ2(xん)⌋ = 1 + ⌊ N ログ2(x )⌋1+⌊log2⁡(xn)⌋=1+⌊nlog2⁡(x)⌋1+\lfloor \log_2(x^n)\rfloor=1+\lfloor n\log_2(x)\rfloorログ2(x )log2⁡(x)\log_2(x)ログ2(x )log2⁡(x)\log_2(x)kkkO (M(k )ログk )O(M(k)log⁡k)O(M(k)\log k)M(k )M(k)M(k)kkkO (s ログ2s )O(slog2⁡s)O(s\log^2 s)sssバツxxんnn を打つことができますか?ここではとサイズです(それらが同等のサイズの場合)。この複雑さ以上を実現する簡単なアルゴリズムはありますか?s x nO (s ログ2(s ))O(slog2⁡(s))O(s\log^2(s))sssバツxxんnn 注:チューリングマシンなどの理論モデルの複雑さに興味があります。

9
精度を失わずに実数を表す
現在の浮動小数点(ANSI C float、double)では、実数の近似値を表すことができます。エラーなしで実数 を表す方法はありますか? ここに私が持っているアイデアがあります、それは完璧ではありません。 たとえば、1/3は0.33333333 ...(base 10)またはo.01010101 ...(base 2)ですが、0.1(base 3)でもあり ます。この「構造」を実装するのは良い考えです。 base, mantissa, exponent したがって、1/3は3 ^ -1になる可能性があります {[11] = base 3, [1.0] mantissa, [-1] exponent} 他のアイデアは?

3
連続するXOR値の最大値と最小値を見つける
整数配列(最大サイズ50000)指定された、Iは最小値と最大見つけなければならない例えば一部について、と。X = P ⊕ P + 1 ⊕ ⋯ ⊕ A Q P Q P ≤ QXXXX=ap⊕ap+1⊕⋯⊕aqX=ap⊕ap+1⊕⋯⊕aqX = a_p \oplus a_{p+1} \oplus \dots \oplus a_qpppqqqp≤qp≤qp \leq q 私はこのプロセスを試しました: for all。私はそれをで事前に計算し、次にいくつかの、の値を計算しては次のようになり:。したがって: I O (N )X P Q (P ≤ Q )X = 和Q ⊕ 和P - 1sumi=a0⊕a1⊕⋯⊕aisumi=a0⊕a1⊕⋯⊕ai\text{sum}_i = a_0 \oplus a_1 …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.