一,算数操作符
1,算术操作符(+ - * )和数学中的运算法则一样。
2,/(除)
在除法运算中,如果符号两边的操作数都是整数,结果要取整(取小于他的最大整数,如,3.1和3.9都取3,即向零取整)。
但只要有一个操作数是浮点型,计算结果就是浮点型
3.取余(%)
取余运算的结果是两数相除后留下了的余数,取余运算的操作数只能是整数,a%b当a的值小于b时结果为a
二, 位移操作符
<<(左移),>>(右移)
1,<<左移操作符,因为数在计算机中是以二进制的补码形式储存,所以移动的也是二进制的补码,左移操作符向左移动,符号位不变,抛弃左面,右边补0,>>右移操作符右边抛弃,左边步符
号位
#include <stdio.h>
int main()
{
//左移操作符 <<
int a = 10;
//a 的原码:00000000 00000000 00000000 00001010
//正数的原码 反码、补码 相同
int b = a << 1;
//将a左移一位:00000000 00000000 00000000 00010100
// 左移一位之后还是一个正数,原、反、补 相同
// b=20
printf("%d\n", b);
}
#include <stdio.h>
int main()
{
//0 表示正数,1表示负数
int a = -10;
//a原码 : 10000000 00000000 00000000 00001010
// 反码: 11111111 11111111 11111111 11110101
// 补码: 11111111 11111111 11111111 11110110
//将补码算术右移一位
int b = a >> 1;
//补码:11111111 11111111 11111111 11111011
// 10000000 00000000 00000000 00000100
//原码:10000000 00000000 00000000 00000101
// b=-(1+4)=-5
printf("%d\n", b);
return 0;
}