US2S3L5——运算符相关

运算符

CG语法中比较、条件、逻辑、数学等运算符的使用和C#中一致,需要注意的是:

  1. 逻辑运算符在CG中不存在C#中的"短路"操作
  2. 数学运算符在CG中取余符号只能向整数取余

比较运算符

CG语言中比较运算符包括

  • 大于 >
  • 小于 <
  • 大于等于 >=
  • 小于等于 <=
  • 等于 ==
  • 不等于 !=

CG中的比较运算符的使用和C#中一样,详见:CS1L11——条件运算符,运算结果为 bool​ 值

1
2
3
4
fixed f1 = 3;
fixed f2 = 4;

bool result = f1 > f2;

条件运算符

CG语言中条件运算符(三目(三元)运算符)

1
condition ? value_if_true : value_if_false
  • condition​ 是一个条件表达式
  • 如果 condition​ 为真将返回 value_if_true
  • 否则返回 value_if_false

CG中的条件运算符的使用和C#的三目运算符中一样

1
2
3
4
fixed f1 = 3;
fixed f2 = 4;

fixed f3 = f1 < f2 ? 4.2 : 3.3; //4.2

逻辑运算符

CG语言中逻辑运算符包括:

  • 逻辑或运算符 ||
  • 逻辑与运算符 &&
  • 逻辑非运算符 !

CG中的逻辑运算符的使用和C#中一样,详见:CS1L12——逻辑运算符
唯一需要注意的是:CG中不存在C#中的" 短路"操作

1
bool result1 = f1 < f2 || 4 > 5;    //注意!即使第一个条件为真,第二个条件也会去比较是否为真,不会短路

数学运算符

CG语言中数学运算符包括

  • 加法 +
  • 减法 -
  • 乘法 *
  • 除法 /
  • 取余 %
  • 自增减 ++​、--

CG中的数学运算符的使用和C#中一样,详见:CS1L9——算术运算符
唯一需要注意的是:CG中取余符号只能向整数取余

位运算符

  1. &​ :同1则1,有0则0
  2. |​ :有1则1
  3. ^​ :相同为0,不同为1
  4. <<​ :将数值所有位左移,越界舍去,新加为0
  5. >>​ :将数值所有位右移,越界舍去,新加为0

CG中的位运算符的使用和C#中一样,详见:CS1L13——位运算符