In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

これはハマる (暗黙の型変換)

Get Adobe Flash player
by beinteractive 23 Jul 2010
/**
 * Copyright beinteractive ( http://wonderfl.net/user/beinteractive )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/sdrS
 */

package
{
    import flash.display.Sprite;
    
    import com.bit101.components.Label;
    
    public class FlashTest extends Sprite
    {
        public function FlashTest()
        {
            var label:Label = new Label(this);
            
            // 論理積とって比較するとなぜか FALSE になる
            var n:uint = 0xff000000;
            if ((n & 0xff000000) == 0xff000000) {
                label.text = 'TRUE';
            }
            else {
                label.text = 'FALSE';
            }
            
            // 理由:
            // (n & 0xff000000) == -16777216
            // 0xff000000 == 4278190080
            // つまりビット演算を行った段階で符号付き整数に
            // 変換されているため等しくならない。
            // 正しくは次のように比較しないと true にならない。
            // uint(n & 0xff000000) == 0xff000000
        }
    }
}