+ - * / (加 减 乘 除)
> >= < <= (大于 大于等于 小于 小于等于)
== != (测试等于 测试不等于)
&& || ! (逻辑与 逻辑或 逻辑非)
>> << (位右移 位左移)
& ! (按位与 按位或)
^ ~ (按位异或 按位取反)
C/C++位操作
[写在前面]
^异或:不同为1,相同为0。可以记为:“异”为不同,不同为1.
signed char 符号位是1时右 移位在左边补1。如:
signed char value=–104;
其二进制表示为10011000。使用下面的操作把它向右移动两位:
value »= 2; //Result 11100110
//计算绝对值:
int abs(int x)
{
int y;
y = x >> 31; //y一定要是int型,右移结果为0xffffffff或0,若为unsigned 则右移结果为1或0
return (x^y)-y; //or:(x+y)^y
}
[传统的C方式位操作]
1、基本操作:
使用一个unsigned int变量来作为位容器。
2、位操作符:
|:按位或操作
如:result = exp1 | exp2;
当exp1和exp2中对应位中有