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进制值向右移动若干位) 
作用:
与左移运算符相反

转载于:https://www.cnblogs.com/amazinglin/p/4877042.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值