20 より大きい数を 2 で割っても余りがない場合、どの数が 20 に最も近くなるかを判断したいと思います。たとえば、次のようになります。
2048 の場合、十分な回数 2 で割ると 16 になり、これが 20 に最も近い値になります。数値が 800 の場合、最も近い値は 25 です。
ループを記述して、範囲を分割して比較し、最も近い値を選択することができます。おそらくビットをシフトすることによる、より簡単な方法はありますか?
編集: 2 で均等に分割されると言うときは、2 まで分割されることを意味します。70 の数は、35 に均等に分割されるだけです。2048 や 1024 などの数は、2 まで均等に分割されます。
サンプル番号: 2048、1920、1600、1536、1080..640、352、320、176。これらは、カメラの典型的な画像サイズです。