タグ

ビット演算とprogrammingに関するitozのブックマーク (2)

  • BeInteractive! [ビット演算って面白いですよね]

    馬鹿全さんが FLASHer 向けビット演算入門記事をアップしてますね。AS3 においては、必ずしも高速化にはつながらないですが、ビット演算ってパズルみたいで面白いですよね。例えば、 n = Math.max(n, 255); ※ n は整数 (uint) の代わりに、 n = (n | (((n & 0xffffff00) + 0x7fffffff) >> 31)) & 0xff; とか! 何をやってるのか少しずつ見て行ってみましょう。 一番最初に実行されるのは n & 0xffffff00 です。これで、「n が 255 以下の場合には 0 、それ以外は 1 以上」な値が作れます。 なぜかというと、255 以下の値というのは、8 ビットで全て表現出来るため、上位 24 ビットは必ず全て 0 になります。逆に 255 より大きい値は 9 ビット以上必要で、必ず上位 24 ビットのうち最低

  • 馬鹿全 - (AS3)ビット演算を倒す

    ビット演算(ビットえんざん)とは、 ひとつあるいはふたつのビットパターンまたは二進数を個々のビットの列として操作することである。 CPUからすればビット演算は簡単な論理回路で実現できるが、 四則演算、特に乗除算は複雑な論理回路を必要とするため、 多くのコンピュータでは、ビット演算は加減算より若干速く、乗除算よりずっと高速である。 Wikipedia(ビット演算) より AS3 でもビット演算で高速化するなどという Tips をよく見かけたりします。 早いのはわかったけど「なぜそうなるのか。」「実際どんな場面で使ったりするものなのか」などはなかなか書いてなかったり。 なので今回は例を含めつつ、説明していこうと思います。 「得意な人はより得意に、そうでない人はそれなりに」を目指します。 二進法 苦手な人はいきなりブラウザバックしたくなる話だと思いますが少し我慢してください。 二進法

  • 1