在算术操作符的五个中:
1.除了%,其他的都可以用于整数和浮点数。
2.用除法 / 操作时,两数为整数时,执行整数除法。有浮点数存在时执行浮点数除法。
3.% 操作符的两个操作数必须为整数。返回的是整除之后的余数。
移位操作符中:
左移操作符(<<)中,左边抛弃、右边补0。
例如:5<<2
5: 00000000 00000000 00000000 00000101
右移2后
00000000 00000000 00000000 00010100 值为20
右移操作符(>>)中,
1. 逻辑移位 左边用0填充,右边丢弃
2. 算术移位 左边用原该值的符号位填充,右边丢弃
注明:移位操作符不可移动负数 如:10<<-1;10>>-1;都是错误的。
位操作符:
& //按位与
| //按位或
^ //按位异或
注:他们的操作数必须是整数。
例如:
#include <stdio.h>
int main()
{
int a=1;
int b=2;
a&b;
a|b;
a^b;
}
计算方式:
&:按位与 按照右边向左边进行对位,位数不够则在左边补0,同位相同为1,不同为0.下面的位操作运算情况相同。
主要用于去掉低字节,如x=x&0464,这个就是去x的低字节。
|:按位或 将两个数的对应位进行操作,对应位均为0时,结果才为0,否则为1.
一般用于:将某些位置1,其余个位不变。x=x|0xff
^:主要用于将对应位置相同的置为0,不同的置为1.
例题;
#include <stdio.h>
int main()
{
int a = 10;
int b = 20;
a = a^b;
b = a^b;
a = a^b;
printf("a = %d b = %d\n", a, b);
return 0;
}