移位 << >> 从左到右 关系 < <= > >= 从左到右 相等 == !=
时间: 2025-02-15 07:13:41 浏览: 59
移位运算符(`<<`, `>>`)、关系运算符(`<`, `<=`, `>`, `>=`)以及相等运算符(`==`, `!=`)都是编程语言中常用的算术和比较操作符。下面分别对它们进行详细介绍:
### 移位运算符 (`<<`, `>>`)
移位运算符用于将二进制数按指定的数量向左或向右移动。
- **左移运算符** (`<<`):把所有的二进制位都往左边推,右边补0。
- 示例:对于整型变量 `x = 5; (即二进制表示为 0101) ,则 x << 1 结果为 1010 即十进制值为10`
- **右移运算符** (`>>`) : 把所有二进制位都往右边推,并复制最高有效位填充空出来的高位,保持数值正负不变;如果是无符号数据,则用0填充高位。
- 对于有符号类型的数字来说,如果最左侧的位是1,则代表这是一个负数,在这种情况下,“填充值”将是1而不是0
这两个运算通常优先级较高且结合方向是从左至右。
### 关系运算符 (<, <=, >, >=)
这类运算符用来判断两个表达式的大小关系并返回布尔结果(true 或 false),其优先级别低于算术运算但高于赋值运算:
- `<`: 小于
- `<=`: 小于等于
- `>`: 大于
- `>=`: 大于等于
例如:
```c++
int a=4,b=6;
bool result=a<b;//result will be true because 4 is less than 6.
```
同样地,这些运算也是按照从左到右的方式解析执行。
### 相等运算符 (==, !=)
这组运算主要用于测试两边的操作数是否相等或是不相等:
- `==`: 等价检查,当两侧的数据完全一致时返回true;
- `!=`: 非等价检测,只要两者的值不一样就给出真值false反之亦然.
示例代码片段:
```python
string strA="hello",strB="world";
cout<<(strA == "hello")<<endl; // 输出"1"(表示True), 因字符串内容匹配成功
cout<<(strB != "hello")<<endl; // 同理这里会显示“1”,因为二者确实存在差异
```
注意点在于相等性评估期间可能会涉及到隐式转换的问题,因此在实际编码过程中需格外小心处理不同类型间的对比情况。
阅读全文
相关推荐




















