学习电子方面知识,C语言是非常主要的一门编程语言之一,如下简单总结下运算符。
逻辑运算符用来求某个条件式的逻辑值。 Cx51提供了3种逻辑运算符:
|| 逻辑或( AND)
&& 逻辑与(OR)
! 逻辑非(NOT)
逻辑表达式:用逻辑运算符将关系表达式或逻辑量连接起来。逻辑表达式的一般形式为:
逻辑与:条件式l&&条件式2
逻辑或:条件式l || 条件式2
逻辑非:!条件式
例如:x&&y、a|| b、!z都是合法的逻辑表达式。
逻辑表达式的值是一个逻辑量真或假,0代表假,1代表真。在逻辑运算中,把非0都看作逻辑1。
例:a=4;b=0;
c=a||b;// c= 1
c=a&&b;//c=0;
c=!a;//c=0;
位运算符
1)能对运算对象进行按位操作,C语言中其有6种位运算符:
&按位与
| 按位或
^ 按位异或
~按位取反
<< 左移
>> 右移
位运算符的作用是按位对变量进行运算,并不改变参与运算的变量值。
2)位运算符的优先级从高到低依次是:按位取反(~)→左移(<<)和右移(>>)→按位与(&)→按位异或(^)→按位或(|)。(注意次序,否则编程会犯错误)
3)所有位运算符的对象是int或char数据类型,不能为实数。
4)位运算的应用
例:P1=P1&0xf8;//将P1口的P1.0、P1.1、P1.2清零,其他位不变
st=P0&0x07;//读P0.0、P0.1、P0.2的值,送入变量st
P1=P1|0x08;//将P1口的P1.3置1,其他位不变
P1=(P1&0xbf)|0x04;//给P1.6置低电平, P1.2置高电平,其
//他位不变
X=a^b//判断a是否与b相等,相等为0
5)位左移和位右移运算符(<<、>>)
位左移、位右移运算符“<<”和“>>”,用来将一个数的各二进制位的全部左移或右移1位;移位后,空白位补0,而溢出的位舍弃。注意汇编语言的区别 。
例:若a=EAH=11101010B
则表达式: a=a<<2,将a值左移两位,其结果为A8H。