Objective-C位运算符-位运算符的程序实例

Mike发个范例4-7,来演示下前面介绍的四种各种位运算符:按位与,按位或,按位异或,一次求反。

01 // Bitwise operators illustrated
02 
03 #import <Foundation/Foundation.h>
04 
05 int main (int argc, const char argv[])
06 {
07     NSAutoreleasePool pool [[NSAutoreleasePool alloc] init];
08 
09     unsigned int w1 0xA0A0A0A0, w2 0xFFFF0000, w3 0x00007777;
10     
11     NSLog(@"%x %x %x", w1 w2, w1 w2, w1 w2);
12     NSLog(@"%x %x %x", ~w1, ~w2, ~w3);
13     NSLog(@"%x %x %x", w1 w1, w1 ~w2, w1 w2 w3);
14     NSLog(@"%x %x", w1 w1 w3, w1 w2 ~w3);
15     NSLog(@"%x %x", ~(~w1 ~w2), ~(~w1 ~w2));
16     
17     [pool drain];
18     return 0;
19 }

最终输出结果:

a0a00000 ffffa0a0 5f5fa0a0

5f5f5f5f ffff ffff8888

0 a0a0 fffff7f7

a0a0a0a0 ffffa0a0

ffffa0a0 a0a00000


前三个NSLog乏善可陈,第四个要注意的是按位与运算符的优先级要高于按位或,因为会影响结果。第五个则展示了 ~(~a & ~b) 等于 a | b,~(~a | ~b)等于 a & b。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值