目录
一、算数操作符
算术操作符有:+ - * / %
1.
除了
%
操作符之外,其他的几个操作符可以作用于整数和浮点数。
2.
对于
/
操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除
法。
3.
%
操作符的两个操作数必须为整数。返回的是整除之后的余数。
二、移位操作符
1.<< 左移操作符
规则:
左边抛弃、右边补
0
2.>>
右移操作符
规则:
首先右移运算分两种:
1.
逻辑移位
左边用
0
填充,右边丢弃
2.
算术移位
左边用原该值的符号位填充,右边丢弃
那么接下来我用vs2013来测试在该编译器下是使用何种移位方式
那么我们使用-1来进行测试,不使用正数是因为对于正数两种移位方式是相同的
-1的原码为10000000000000000000000000000001
补码为1111111111111111111111111111111111111
如果采用逻辑右移,结果应为011111111111111111111111111111111,原码为+1
如果采用算术位移,结果为11111111111111111111111111111111,原码仍为-1
#include<stdio.h>
int main()
{
int a = -1;
printf("%d\n", a >> 1);
return 0;
}
可得该编译器下右移操作为算数右移。