Solidity - 运算符


什么是操作员?

让我们看一个简单的表达式4 + 5 等于 9。这里 4 和 5 称为操作数,“+”称为运算符。Solidity 支持以下类型的运算符。

  • 算术运算符
  • 比较运算符
  • 逻辑(或关系)运算符
  • 赋值运算符
  • 条件(或三元)运算符

让我们一一看看所有的运营商。

算术运算符

Solidity 支持以下算术运算符 -

假设变量 A 为 10,变量 B 为 20,则 -

显示示例

先生。 运算符及描述
1

+(加法)

添加两个操作数

例如: A + B 将给出 30

2

-(减法)

从第一个操作数中减去第二个操作数

例如: A - B 将给出 -10

3

*(乘法)

将两个操作数相乘

例如: A * B 将给出 200

4

/ (分配)

将分子除以分母

例如: B / A 将给出 2

5

%(模数)

输出整数除法的余数

例如: B % A 将给出 0

6

++(增量)

将整数值加一

例如: A++ 会给出 11

7

--(递减)

将整数值减一

例如: A-- 将给出 9

比较运算符

Solidity 支持以下比较运算符 -

假设变量 A 为 10,变量 B 为 20,则 -

显示示例

先生。 运算符及描述
1

= =(等于)

检查两个操作数的值是否相等,如果相等,则条件成立。

例如: (A == B) 不正确。

2

!=(不等于)

检查两个操作数的值是否相等,如果值不相等,则条件成立。

例如: (A != B) 为真。

3

>(大于)

检查左操作数的值是否大于右操作数的值,如果是,则条件成立。

例如: (A > B) 不正确。

4

<(小于)

检查左操作数的值是否小于右操作数的值,如果是,则条件成立。

例如: (A < B) 为真。

5

>=(大于或等于)

检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。

例如: (A >= B) 不正确。

6

<=(小于或等于)

检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立。

例如: (A <= B) 为真。

逻辑运算符

Solidity 支持以下逻辑运算符 -

假设变量 A 为 10,变量 B 为 20,则 -

显示示例

先生。 运算符及描述
1

&&(逻辑与)

如果两个操作数均非零,则条件为真。

例如: (A && B) 是正确的。

2

|| (逻辑或)

如果两个操作数中的任何一个非零,则条件为真。

例如: (A || B) 为真。

3

!(逻辑非)

反转其操作数的逻辑状态。如果条件为真,则逻辑 NOT 运算符会将其设为假。

例如:!(A && B) 是错误的。

按位运算符

Solidity 支持以下按位运算符 -

假设变量 A 为 2,变量 B 为 3,则 -

显示示例

先生。 运算符及描述
1

&(按位与)

它对其整数参数的每一位执行布尔 AND 运算。

例如: (A & B) 是 2。

2

| (按位或)

它对其整数参数的每一位执行布尔 OR 运算。

例如: (A | B) 为 3。

3

^(按位异或)

它对其整数参数的每一位执行布尔异或运算。异或意味着操作数一为真或操作数二为真,但不能两者都为真。

例如: (A ^ B) 为 1。

4

~(按位非)

它是一个一元运算符,通过反转操作数中的所有位来进行运算。

例如: (~B) 为 -4。

5

<<(左移)

它将第一个操作数中的所有位向左移动第二个操作数中指定的位数。新的位用零填充。将值左移一位相当于乘以 2,左移两位相当于乘以 4,依此类推。

例如: (A << 1) 是 4。

6

>>(右移)

二进制右移运算符。左操作数的值向右移动右操作数指定的位数。

例如: (A >> 1) 是 1。

7

>>>(右移零)

该运算符与 >> 运算符类似,只是左侧移入的位始终为零。

例如: (A >>> 1) 是 1。

赋值运算符

Solidity 支持以下赋值运算符 -

显示示例

先生。 运算符及描述
1

=(简单赋值)

将右侧操作数中的值分配给左侧操作数

例如: C = A + B 将把 A + B 的值赋给 C

2

+=(添加和赋值)

它将右操作数添加到左操作数,并将结果分配给左操作数。

例如: C += A 相当于 C = C + A

3

−=(减法和赋值)

它从左操作数中减去右操作数,并将结果赋给左操作数。

例如: C -= A 相当于 C = C - A

4

*=(乘法和赋值)

它将右操作数与左操作数相乘,并将结果赋给左操作数。

例如: C *= A 相当于 C = C * A

5

/=(除法和赋值)

它将左操作数与右操作数相除,并将结果赋给左操作数。

例如: C /= A 相当于 C = C / A

6

%=(模块和分配)

它使用两个操作数取模并将结果分配给左侧操作数。

例如: C %= A 相当于 C = C % A

注意- 相同的逻辑适用于按位运算符,因此它们将变得像 <<=、>>=、>>=、&=、|= 和 ^=。

条件运算符 (?:)

条件运算符首先计算表达式的真值或假值,然后根据计算结果执行两个给定语句之一。

显示示例

先生。 操作符及说明
1

?:(有条件)

如果条件为真?然后值 X :否则值 Y