Rust - 运算符
运算符定义将对数据执行的某些函数。 运算符所处理的数据称为操作数。 考虑以下表达式 −
7 + 5 = 12
这里,值 7、5 和 12 是操作数,而 + 和 = 是运算符。
Rust 中的主要运算符可以分为: −
- 算术
- 按位
- 比较
- 逻辑
- 有条件
算术运算符
假设变量 a 和 b 的值分别为 10 和 5。
Sr.No | 运算符 | 描述 | 示例 |
---|---|---|---|
1 | +(加法) | 返回操作数之和 | a+b 是 15 |
2 | -(减法) | 返回值的差异 | a-b 是 5 |
3 | *(乘法) | 返回值的乘积 | a*b 为 50 |
4 | /(除法) | 执行除法运算并返回商 | a / b 为 2 |
5 | %(模数) | 执行除法运算并返回余数 | a % b 为 0 |
注意 − Rust 不支持 ++ 和 -- 运算符。
关系运算符
关系运算符测试或定义两个实体之间的关系类型。 关系运算符用于比较两个或多个值。 关系运算符返回一个布尔值 − true 或 false。
假设 A 的值为 10,B 的值为 20。
Sr.No | 运算符 | 描述 | 示例 |
---|---|---|---|
1 | > | 大于 | (A > B) 为 False |
2 | < | 小于 | (A < B) 为 True |
3 | >= | 大于或等于 | (A >= B) 为 False |
4 | <= | 小于或等于 | (A <= B) 为 True |
5 | == | 等于 | (A == B) 为 fals |
6 | != | 不等于 | (A != B) 为 True |
逻辑运算符
逻辑运算符用于组合两个或多个条件。 逻辑运算符也返回布尔值。 假设变量A的值为10,B的值为20。
Sr.No | 运算符 | 描述 | 示例 |
---|---|---|---|
1 | && (And) | 仅当指定的所有表达式都返回 true 时,该运算符才返回 true | (A > 10 && B > 10) 为 False |
2 | ||(OR) | 如果至少有一个指定的表达式返回 true,则该运算符返回 true | (A > 10 || B >10) 为 True |
3 | ! (NOT) | 该运算符返回表达式结果的倒数。 例如:!(>5) 返回 false | !(A >10 ) 为 True |
按位运算符
假设变量 A = 2 且 B = 3。
Sr.No | 运算符 | 描述 | 示例 |
---|---|---|---|
1 | & (按位与) | 它对其整数参数的每一位执行布尔 AND 运算。 | (A & B) 为 2 |
2 | | (按位或) | 它对其整数参数的每一位执行布尔 OR 运算。 | (A | B) 为 3 |
3 | ^ (按位异或) | 它对其整数参数的每一位执行布尔异或运算。 异或意味着操作数一为真或操作数二为 true,但不能两者都为 true。 | (A ^ B) 为 1 |
4 | ! (按位取反) | 它是一元运算符,通过反转操作数中的所有位进行运算。 | (!B) 为 -4 |
5 | << (左移) | 它将第一个操作数中的所有位向左移动第二个操作数中指定的位数。 新的位用零填充。 将值左移一位相当于乘以 2,左移两位相当于乘以 4,依此类推。 | (A << 1) 为 4 |
6 | >> (右移) | 二进制右移运算符。 左操作数的值向右移动右操作数指定的位数。 | (A >> 1) 为 1 |
7 | >>> (右移为零) | 该运算符与 >> 运算符类似,只是向左移动的位始终为零。 | (A >>> 1) 为 1 |