2009年07月17日

intの最も左側の1のビット以外を0にする

昨日は「lowest」、一番右側だったので、今日は左側、「highest」を扱ってみました。


intの最も左側の1のビット以外を0にする
http://www.mwsoft.jp/programming/java/java_lang_integer_highest_one_bit.html


今回のお題は、こんな感じです。
i |= (i >> 1);
i |= (i >> 2);
i |= (i >> 4);
i |= (i >> 8);
i |= (i >> 16);

毎日見てると、徐々にビットが頭の中で動くようになってきた気がします。でも、1週間遠ざかればまた固まってしまうのだろうなぁ。

記事中で無駄にピコーンとか言ってるのは、それっぽい動画を見ながら記事を書いていたせいです。