[解決済み】次の2の累乗に切り上げる場合
2022-04-04 20:26:43
質問
2の次のべき乗に最も近い数値を返す関数を書きたい。例えば、入力が789の場合、出力は1024になるはずです。ループを使わずに、ビット演算子だけでこれを実現する方法はないでしょうか?
どのように解決するのですか?
を確認します。 ビットいじりハック . 2の底の対数を求め、それに1を足す必要があります。 32bitの値の例。
2の最大累乗に切り上げ
unsigned int v; // compute the next highest power of 2 of 32-bit v v--; v |= v >> 1; v |= v >> 2; v |= v >> 4; v |= v >> 8; v |= v >> 16; v++;
他の幅への拡張は明らかなはずです。
関連
-
[解決済み] strtokのセグメンテーションフォールト
-
[解決済み】ポインタへの代入時に互換性のないポインタ型からの初期化警告が発生した
-
[解決済み】C言語で入力が整数型かどうかチェックする
-
[解決済み] [Solved] .Cファイルをコンパイルしています。アーキテクチャ x86_64 の未定義シンボル
-
[解決済み】未定義参照 makefile が間違っているのかも?
-
[解決済み】whileループの時間複雑性(Big O)はどうやったらわかるの?
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
-
[解決済み] Project Eulerとの速度比較。CとPythonとErlangとHaskellの比較
-
[解決済み】C言語でシフト演算子を使った掛け算・割り算は実は速い?
最新
-
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 実装 サイバーパンク風ボタン