GxWork2结构化编程ST语言的运算符有:位逻辑、比较、数学运算、函数和括号。
位逻辑:OR, XOR, AND, NOT
比较:<>, =, <, >, <=, >=
数学运算:+, -, *, /, MOD(取余),**(幂运算)
一,位逻辑
位逻辑的操作数类型:位,无符号字16位,位列16位,无符号双字32位,位列32位。按位进行逻辑运算,结果存入d中。
OR, XOR, AND d := s1 逻辑运算符 s2;
NOT: d := NOT s1;
若要对有符号字(整数)进行逻辑运算,不能用上面的逻辑运算符,需要用相应的函数块,如WAND(EN, s1,s2,d),WOR(EN, s1,s2,d)。
二,比较
比较的操作数类型:除数组和结构变量外的基本数据类型均可以。
<>, =, <, >, <=, >= d := s1 逻辑运算符 s2;
d的类型是位。
三,数学运算
+ ,- ,* ,/ 操作数类型:实数和整数
MOD (取余) 操作数类型:整数
** (幂运算 s1^s2) d:=s1 ** s2;
和应用指令EXPT(幂运算)相通,d=EXPT(s1,s2)
s1 (底数)类型:实数;s2(指数):整数 ;d 实数
如果s1和s2均是实数,可以用DEXP(自然指数运算)和DLOGE(自然对数运算)实现,X^Y = e^(Y*lnX), 以函数形式分别调用,DLOGE(EN,X,A); DEXP(EN,(Y*A),d);
四,各运算符的优先级
描述 | 运算符 | 优先级(上-高 下-低)
| 括号 | ()
| 1
| 幂运算
| **
| 2
| 取非
| NOT
| 3
| 乘法 除法 取余
| * , / , MOD
| 4
| 加法 减法
| + , -
| 5
| 比较
| <, <=, >, >=
| 6
| 等于 不等于
| =, <>
| 7
| 逻辑与
| AND (&)
| 8
| 异或
| XOR
| 9
| 或
| OR
| 10
|
(完)
|