算术操作符
- %取模
- % 的操作数必须都是整数
printf("%d\n",7/2); //1
printf("%d\n",7/2.0); //error
- / 除号
- 除号的两个操作数如果是整数,执行的就是除法操作
- 除号的操作数如果有一个是浮点数,执行的是浮点数除法
printf("%d\n,7 / 2"); //3
printf("%d\n,7 / 2.0"); //3.500000
移位操作符
- 左移操作符<<
- 左移—移动的是在内存中存储的二进制的补码
- 每一位左移,右端补0;
如下图所示
int a = 5;
int b = a << 1;
printf("%d\n",b); //b = 10
- 右移操作符>>
- 算术操作符
- 每一位右移,左端补最高位的符号位;
- 逻辑操作符
- 每一位右移,左端补0;
- 移位操作符不可以移动负数位;
int a = -5;
int b = a >> 1; //算数右移
printf(<