問題 : n = 2^a で、nに対応するaを求めたい。(a は 1~9 の値をとる) ただし、なるべくループやlogは用いず、軽くてコンパクトなコードとしたい。 例えば、 n=512 → a=9 n=256 → a=8 : n=2 → a=1 関連/.J日記 cheekcatさん okkyさん この問題の初出は、私が知る限り2chプログラム板のビット演算スレッドだ。(ここは私も出入りしている) 私がぱっと思いつくのはこんな方法。ちなみにこの方法は、ビット演算7回と判断4回、判断のための直値4つ、出力値のための直値8つを使用する。