数値n が 2のべき乗の値であるかを確認したい

一個上のエントリーで crt のコードとか漁ってた時に見つけたコード。

#define IS_2_POW_N(X)   (((X)&(X-1)) == 0)


う、美しい!!


これは思いつかなかった……んだけど、まず、2^n の値であるかを確認する場面に遭遇したことがない事の気づいた俺。