C/C++の宿題片付けます 165代目
■ このスレッドは過去ログ倉庫に格納されています
while (x >>= 1) ++i;
return n ^ x ? i + 1 : i;
さっき思いついたコードです。これが最速になるかなと思いましたが…
>>787 これ面白いですね。ベンチマークをとってみましたが僕が考えたコードより1.3倍ほど高速っぽいです
>>786 これは例にあげた仕様とちょっと違いますね。僕も最初に同じミスをしましたが
ちなみにこの結果は、上記のコードから i=1 に初期化した状態で
while (x >>= 1) ++i; 部分だけを抽出した結果と同じですね
■ このスレッドは過去ログ倉庫に格納されています