iOS 学习笔记——0002(位运算符的应用)

位运算(bit operate),即操作二进制位的运算


 

&    按位与 (都为1则为1,否则为0)      
         
作用:迅速清零(eg:a&0);
        判断奇偶(eg:a&1  为1奇数,为0偶数);    
        检查状态

 
|  按位或(有一个为1就为1,否则为0)   
作用:      eg,a|0XFF  a值为255;   因为0XFF值为 11111111
 
//oc中的应用:添加状态
        NSDate* date = [NSDate date];
        NSCalendar* calendar = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian];
        NSDateComponents* dateComponents = [calendar components:(NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute|NSCalendarUnitSe     cond) fromDate:date];

 


 
^   按位异或(不同为1,相同为0)              
作用:
        还原性
        //交换两个整数的位置
        int a = 10;
        int b = 20;
        a = a^b;
        b = a^b;
        a = a^b;
        NSLog(@"a = %d b = %d",a,b);

 
~   按位取反(位预算符中唯一一个单目运算符)每个位置都取反(对应内存中存的值,如32bit系统的1表示为00000000 00000000 00000000 00000001)
 

 
<< 左移运算   (将2进制值向左移动若干位) 
作用:
当数字要与2或2的倍数相乘时用,大大提高效率,相当于乘以2的移动位数次数方
 
>> 右移运算   (将2进制值向右移动若干位) 
作用:
与左移运算符相反
posted @ 2015-10-14 11:50  林_少  阅读(573)  评论(0编辑  收藏  举报