位操作符:&.|.^.~
&:按位与操作符
简单来说用二进制补码进行计算,都为1等于1,其中有0则为0
|:按位或操作符
用二进制补码进行计算,有1为1,都为0则为0
^:按位异或
相同为0,相异为1
~:按位取反
全部取反
一个例子
有两个整数变量x = 9
和y = 3
,表达式x ^ y的结果是什么
写出9,3的二进制原码
1001 0011
000000001001
000000000011
因为正数的原码与补码相同,所以直接用原码进行计算即可
000000001010 转化为十进制为10
假如把3换成-5
-5的原码为100000000101
补码为 1111111111011
进行计算 答案为14
逗号表达式,就是用逗号隔开多个表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。
下面举一个例子
int a=1;
int b=2;
int c=(a>b,a=b+10,a,b=a+1);
c是多少?
答案是多少呢?
先看第一个逗号,a>b是假的,为0。
再看第二个逗号,a=b+10=2+10=12
第三个,a=12
第四个,b=a+1=13+1=13
所以c=13