C语言的按位运算符
按位运算符,在实际的程序中用的不是很多,主要的应用是底层系统操作,比如嵌入式、驱动等,它的作用就是对位进行操作,这个就要比较熟悉各种进制的转换了。
几个按位运算符的含义如下:
按位运算符 | 含义 |
---|---|
& | 按位与 |
| | 按位或 |
^ | 按位异或 |
~ | 按位取反 |
<< | 按位左移 |
>> | 按位右移 |
举个例子来show一下:
1 | /*advance/operator/operator1.c*/ |
相应地Makefile如下所示:
1 | #advance/operator/Makefile |
我们可以看到,这一次的Makefile我们多了一个.PHONY行,这是一个伪目标,主要作用是防止Makefile定义的可执行命令的目标跟工作目录里面的文件重名而出现无法运行的问题,在这也提高了执行时的效率,建议每个Makefile都要包含。
输入make
,然后./operator1
输出为:
1 | 5 & 3 : 1 |
可以看到结果就是对每一位进行的操作