首先,位运算是一个十分清楚的概念,即对相应的位执行操作。主要操作符有&,|,~,^等。
C语言中还提供了逻辑运算,主要运算符有&&,||,!等。
这两个概念比较容易混淆。但看清它们之间的差别后,就觉得明了多了。
逻辑运算与位运算的主要差别:
1.逻辑运算认为所有非零参数都表示TRUE,而参数0表示FALSE。相信大家在写程序时,都使用过判断方法如, if(...),while(...),那么应当对这个概念有所了解。
2.还有一个重要的区别,在逻辑运算中,若第一个参数求值就能确定表达式结果,那么逻辑运算就不会对第二个参数进行求值了。这样的好处在于,如表达式 a&&5/a不会出现被零除的情况,p&&*p++也不会出现引用空指针的情况。