[解決済み] ビット単位で、モジュラス演算子の代わりに使用
2022-11-13 09:02:07
質問
例えば2の累乗のモジュロはこのように表現できることが分かっています。
x % 2 inpower n == x & (2 inpower n - 1).
例
x % 2 == x & 1
x % 4 == x & 3
x % 8 == x & 7
一般的な2のべき乗でない数値は?
としましょう。
x % 7==?
どのように解決するのですか?
まず第一に、実は次のように言うのは正確ではありません。
x % 2 == x & 1
簡単な反例です。
x = -1
. Javaを含む多くの言語では
-1 % 2 == -1
. つまり
%
は必ずしも伝統的な数学のモジュロの定義ではありません。たとえば、Java では、これを "remainder operator" と呼びます。
ビット単位の最適化に関して、ビット単位の演算で "簡単に"できるのは 2 の累乗のみです。一般に、基数のモジュロ累乗のみが b の累乗のみがビット演算で可能です。 b で表現することができます。
10進数では、例えば、非負の場合
N
,
N mod 10^k
は単に最下位の
k
の数字を取るだけです。
参考文献
関連
-
[解決済み] T = {<M> | Mはwを受け入れるときはいつでも$w^R$を受け入れるTMである}とする。Tが決定不可能であることを示せ
-
[解決済み] 山積みされた靴下を効率よく組み合わせるには?
-
[解決済み] O(log n)とは具体的にどのような意味ですか?
-
[解決済み] ゲーム「2048」の最適なアルゴリズムとは?
-
[解決済み] 簡単な面接問題が難しくなった:1~100の数字が与えられたとき、ちょうどk個の数字が欠けていることを見つけなさい。
-
[解決済み] ある数字が2の累乗かどうかを確認する方法
-
[解決済み] 地図上のA地点からB地点への道順を計算するアルゴリズムは?
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
-
[解決済み】アルゴリズムの時間複雑性を求めるには?
-
[解決済み] 旧経度+nmから新経度、新緯度を算出する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] グラフにおいて最小容量が最大となる経路の探索
-
[解決済み] 簡単:T(n)=T(n-1)+nを反復法で解く。
-
[解決済み] ビッグシータ記法の証明
-
[解決済み] 2進数が3で割れているかどうかを知るには?
-
[解決済み] log(n!)=Θ(n-log(n))でしょうか?
-
[解決済み] Javaでvalue & 0xffは何をするのですか?
-
[解決済み] キャッシュの無効化 - 一般的な解決策はありますか?
-
[解決済み] 二分探索木におけるk番目の最小要素を最適な方法で探す
-
[解決済み] MapReduceのソートアルゴリズムはどのように動作するのですか?
-
[解決済み] リンクリストのソートで最も高速なアルゴリズムは?