操作符详解(1)——算术,移位操作符

  • Post author:
  • Post category:其他



目录


操作符分类


1.算术操作符


2.移位操作符


1)左移操作符


2)右移操作符

操作符分类

1.算术操作符 2.移位操作符 3.位操作符 4.赋值操作符 5.单目操作符 6.关系操作符 7.逻辑操作符 8.条件操作符 9.逗号表达式 10.下标引用、函数调用和结构成员

1.算术操作符

1)除了

%

操作符之外,其他的几个操作符可以作用于整数和浮点数。

2) 对于

/

操作符如果两个操作数都为

整数

,执行

整数除法

。而只要有

浮点数

执行的就是

浮点数除法

3)

% 操作符的两个操作数必须为整数

。返回的是整除之后的

余数

2.移位操作符

移位操作符,移动的是

二进制位

,因为整数在内存中存储的是补码,所以移动的是内存中存储的补码。


左移操作符和右移操作符只对整数进行操作,不能对浮点数进行操作。

1)左移操作符

移位规则: 左边抛弃、右边补0。

代码运行结果是:

a并没有被改变,打印的结果仍是7。

当a=-7时,b等于多少?

代码运行结果是:

2)右移操作符

移位规则: 首先右移运算分两种:

1. 逻辑移位:左边用0填充,右边丢弃

2. 算术移位:左边用原该值的符号位填充,右边丢弃

运行结果是:

当a为负数,即a=-7时,b等于多少?

由此可知,编译器使用的是算术移位的方法。(一般编译器采用的算术移位)

注:

对于移位运算符,不要移动

负数位

,这个是标准未定义的。

例如:



版权声明:本文为m0_68071216原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。