2の累乗かどうかの判定が必要になって、そーいやDOS時代にTASM一本でゴリゴリ書いたコマンドラインの多倍長分数電卓っぽい奴にそんな処理があったかもなーと何となく思った。当時の俺なりに無駄に頑張ってたから、あればビット演算で書いてるだろうし、参考になるかも。どこにソース置いたか忘れてて見付かりにくかったけど、ちょっと探したら見付かったぜ。早速見てみるぜ。
全然読めねーから。マジデ。
つーか本気でコメント皆無だな昔の俺(笑)。まあでも、これコメントあっても全く読めねーからどうでもいいか。ハハハハハ。
仕方ないので真面目に考えてみるか、と思ったけど、やっぱ面倒なのでその辺で検索してみる。ふむふむ。
inline bool is_power_of_2 ( unsigned int i ) { return ! ( i & i-1 ); }
これでいいっぽいな。
でも、これだと0もtrueになっちゃうんだよな。名前的にも用途的にも0はfalseでないと。
inline bool is_power_of_2 ( unsigned int i ) { return i && ! ( i & i-1 ); }
これでいいのかな?
どうせなら分岐も消したくなるなあ(笑)。まあでも、実のところ速度も何も不要な使い道なので、いい方法が思いついたら書き換えれば十分か。adc命令とかは駄目みたいだし。
signedだとどうなるか、とかも軽く考えたけど、めんどくさそうだし別に使い道無いし、ってことでこれもパス。
(Visited 7 times, 1 visits today)
ご健在で何よりw
マジ、「どうしたんだろう…」感がw
いやいや、何がどうしたんだろうなのか(笑)。
まあ、特に何事も無く、ただちょっとここ数年はずるずると脳味噌腐ってた感じではあります。どこに向かっていればいいんだか分からん的な。時間を見事に無駄にした気もしますな。ハハハ。
で、脳味噌が目覚める具体的なきっかけって奴もあったんですが、まー、しょーもない勘違いだったようなので触れることは無いんじゃないかと思います(笑)。
そのまま勘違いを利用してエンジン掛けましたが。あまりにも遅すぎる起動ですが。止まったままよりは。