按位与运算的应用(<< >>)

2017-10-23  本文已影响0人  狒狒James_Leo
typedef NS_OPTIONS(NSInteger, AnimationType) {
    
    AnimationTypeNone = 0, //二进制为00
    AnimationTypeTansform = 1 << 0,//二进制为01 
    AnimationTypeScale  = 1 << 1,//二进制为10 因为向左移动了一位
    AnimationTypeRotation = 1 << 2//二进制为100 因为向左移动了2位   
};

//在进行判断的时候应该这样判断
/**
 *假如外面传的值是 AnimationTypeTansform |         AnimationTypeRotation
 *那么AnimationType是这两个的组合值,2进制的值为101,十进制的值为5,然后在下面的判断中表达式的值为
 101 & 100 = (100)2   = (4)10  不为0就是真所以会执行if内部的代码
 */
 if(animtionType & AnimationTypeRotation){
        
    
}
上一篇下一篇

猜你喜欢

热点阅读