2019独角兽企业重金招聘Python工程师标准>>>
/*
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000
*/
NSLog(@"%d", 1 & 2); //01 10 -> 00 ->0
NSLog(@"%d", 1 | 2);//01 10 ->11 ->3
NSLog(@"%d", 1 ^ 2); //01 10 -11 ->3
NSLog(@"%d", 1 << 1); //00001 00010 -> 2
NSLog(@"%d", 1 << 2); //00001 00100 ->4
NSLog(@"%d", 2 >> 1); //10 01 -> 1
NSLog(@"%d", 4 >> 2); //100 -001 -> 1
NSLog(@"%lu",(unsigned long)StreamEventNone); //0
NSLog(@"%lu",(unsigned long)StreamEventOpenCompleted);//01
NSLog(@"%lu",(unsigned long)StreamEventHasBytesAvailable);//10
NSLog(@"%d %d",1 & 1, 2&2);
NSLog(@"%d",1 & 2);
//NSLog(@"%d",1 & 3);
NSLog(@"%d",1 & 4);
//因为是位移的没有3 所以&可以保证就是自己
NSLog(@"%d",4 ^ 4); // 100 100 //不同为1 相同为为0
NSLog(@"%d",5 ^ 5); //使得相同的值为0
StreamEvent direction = StreamEventOpenCompleted|StreamEventHasBytesAvailable|StreamEventHasSpaceAvailable;
if (direction & StreamEventOpenCompleted) {
NSLog(@"StreamEventOpenCompleted");
}
NSLog(@"%lu",(unsigned long)direction);
一个字 2个字节 一个字节8位
word = 2byte 1byte = 8bit
1字节 uint8_t
2字节 uint16_t
4字节 uint32_t
8字节 uint64_t