📜  Solidity – 运算符(1)

📅  最后修改于: 2023-12-03 15:05:14.485000             🧑  作者: Mango

Solidity - 运算符

Solidity是以太坊智能合约语言之一。本文将介绍Solidity中的运算符,帮助程序员更好地使用Solidity。

算术运算符

Solidity支持标准的算术运算符,包括加(+)、减(-)、乘(*)、除(/)和取余(%)。

uint256 a = 10;
uint256 b = 5;

uint256 c = a + b;  // c的值为15
uint256 d = a - b;  // d的值为5
uint256 e = a * b;  // e的值为50
uint256 f = a / b;  // f的值为2
uint256 g = a % b;  // g的值为0
位运算符

Solidity支持标准的位运算符,包括按位与(&)、按位或(|)、按位异或(^)、按位取反(~)、左移(<<)和右移(>>)。

uint256 a = 10;
uint256 b = 5;

uint256 c = a & b;   // c的值为0
uint256 d = a | b;   // d的值为15
uint256 e = a ^ b;   // e的值为15
uint256 f = ~a;      // f的值为18446744073709551605
uint256 g = a << 1;  // g的值为20
uint256 h = a >> 1;  // h的值为5
比较运算符

Solidity支持标准的比较运算符,包括等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)和小于等于(<=)。

uint256 a = 10;
uint256 b = 5;

bool c = a == b;  // c的值为false
bool d = a != b;  // d的值为true
bool e = a > b;   // e的值为true
bool f = a < b;   // f的值为false
bool g = a >= b;  // g的值为true
bool h = a <= b;  // h的值为false
逻辑运算符

Solidity支持标准的逻辑运算符,包括与(&&)、或(||)和非(!)。

bool a = true;
bool b = false;

bool c = a && b;  // c的值为false
bool d = a || b;  // d的值为true
bool e = !a;      // e的值为false
赋值运算符

Solidity支持标准的赋值运算符,包括等于(=)、加等于(+=)、减等于(-=)、乘等于(*=)、除等于(/=)、取余等于(%=)、按位与等于(&=)、按位或等于(|=)、按位异或等于(^=)、左移等于(<<=)和右移等于(>>=)。

uint256 a = 10;
uint256 b = 5;

a += b;  // 相当于 a = a + b,a的值为15
a -= b;  // 相当于 a = a - b,a的值为10
a *= b;  // 相当于 a = a * b,a的值为50
a /= b;  // 相当于 a = a / b,a的值为10
a %= b;  // 相当于 a = a % b,a的值为0
a &= b;  // 相当于 a = a & b,a的值为0
a |= b;  // 相当于 a = a | b,a的值为5
a ^= b;  // 相当于 a = a ^ b,a的值为15
a <<= 1;  // 相当于 a = a << 1,a的值为30
a >>= 1;  // 相当于 a = a >> 1,a的值为15

以上是Solidity中运算符的介绍。在编写Solidity智能合约时,合理地使用运算符,可以让代码更加简洁、高效。