1. 操作符的介绍
1.1 算术操作符
- 除号
要想打印浮点型,需要符号一侧为浮点型,且数据类型为double或者float类型
int main()
{
//int i = 7 / 3;
//printf("%d", i); // 2
double i = 7.0 / 3;
printf("%lf", i); // 2.3333
return 0;
}
- 取模
//取模操作符 的两端必须都为整数
int main()
{
int a = 7 % 3;
printf("%d", a);
return 0;
}
1.2 移位操作符
- 左移/右移操作符
二进制位左移/右移动 n位 右移补位:算术右移补原符号位;逻辑右移补0
int main()
{
//左移操作符
int a = -2;
int b = a << 1;
printf("%d\n", a); //a并没有改变
printf("%d\n", b); // -4
//右移操作符
int c = a >> 1;
printf("%d\n", c); // -1
return 0;
}
原码 ----(符号位不变,其他位按位取反)----> 反码 ----(反码+1)---->补码
1.3 位操作符
& 按位与:同1则1,其余为0 | 按位或 :有1则1 ,无1则0 ^ 按位异或 :相同为0, 相异为1 ==备注:他们的操作数必须都是整数!==
- 实例1.交换两个数
int main()
{
int a = 3;
int b = 5;
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("%d, %d", a, b);
return 0;
}
总结:
a ^ a = 0 a ^ b ^ b = a