C语言初学5:运算符

一、算数运算符

假设变量 A 的值为 10

运算符 描述 实例
A++ 先赋值后运算 C = A++
C为10
A为11
A-- C = A--
C为10
A为9
++A 先运算后赋值 C = ++A
C为11
A为11
--A C = --A
C为9
A为9

二、位运算符

运算符 描述 实例
& 对两个操作数的每一位执行逻辑与操作,如果两个相应的位都为 1,则结果为 1,否则为 0。 (11 1100)&(1101)得到1100
| 对两个操作数的每一位执行逻辑或操作,如果两个相应的位都为 0,则结果为 0,否则为 1。 (11 1100)&(1101)得到11 1101
^ 对两个操作数的每一位执行逻辑异或操作,如果两个相应的位值相同,则结果为 0,否则为 1 (11 1100)&(1101)得到11 0001
~ 对操作数的每一位执行逻辑取反操作,即将每一位的 0 变为 1,1 变为 0。 ~(11 1100)得到1100 0011
&=~ A&=~B即表示A = A & ~B,给B中为1的位对应于A的同样位上置0,A的其他位不变(嵌入式中代表清故障位)

如:A=11010111
       B=00000001

则A&=~B执行结果为11010110

|=

A|=B即表示A = A | B,给B中为1的位对应于A的同样位上置1,A的其他位不变(嵌入式中代表置故障位)

如:A=11010110
       B=00000001

则A|=B执行结果为11010111

<< 将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0) 如:A=111100

A<<2得到1111 0000

>> 将一个数的各二进制位全部右移若干位,正数左补 0,负数左补 1,右边丢弃。 如:A=111100
A>>2得到0000 1111

你可能感兴趣的:(c语言,开发语言)