iOS开发中可以使用C语言位运算符主要包括六种:与( & )、或( | )、异或( ^ )、取反( ~ )、左移( >> )和右移( << )
如下图表简单对比:一目了然
名称 | 符号 | 说明 | 举例 |
---|---|---|---|
按位与 | & | 两二进制值对应位都为1,则为1;否则为0 | 101 & 010 = 000 |
按位或 | I | 两二进制值对应位只要一个为1,则为1;全0时为0 | 101 & 010 = 111 |
按位异或 | ^ | 两二进制值对应位相同,则为1;否则为0 | 101 & 010 = 000 |
取反 | ~ | 此为一元运算符,是对一个二进制数按位取反,即将0变1,将1变0 | ~0=1; ~1=0 |
左移 | << | 将一个二进制数的位全部左移N位,右补0;相当于十进制乘2 | 0001 << 1 = 0010 |
右移 | >> | 将一个二进制数的位全部右移N位,右侧低位1会被舍弃,左侧补0;相当于十进制除2 | 0001 >> 1 = 0000 |