Reference Manual User guide

C
HAPTER
4
Operators
CATC Scripting Language
13
Operator
Symbol
Description
Operand
Ty
p
es
R
esult
Ty
p
es
Examples
Bitwise Logical Operators
~
Bitwise
complement
Integer-integer
Integer
~0b11111110 = 0b00000001
&
Bitwise AND
Integer-integer
Integer
0b11111110 & 0b01010101 =
0b01010100
^
Bitwise
exclusive OR
Integer-integer
Integer
0b11111110 ^ 0b01010101 =
0b10101011
|
Bitwise
inclusive OR
Integer-integer
Integer
0b11111110 | 0b01010101 =
0b11111111
Shift Operators
<<
Left shift
Integer-integer
Integer
0b11111110 << 3 = 0b11110000
>>
Right shift
Integer-integer
Integer
0b11111110 >> 1 = 0b01111111
Assignment Operators
=
Assignment
Any
Any
A
=
1
B
=
C
=
A
+=
Addition
assignment
Integer-integer
Integer
x
=
1
x
+=
1
=
2
String-string
String
a = "one "
a
+= "two" = "one two"
Raw byte-raw byte
Raw
z = '001122'
z
+= '334455' = '001122334455'
List-list
List
x = [1, 2]
x
+= [3, 4] = [1, 2, 3, 4]
Integer-list
List
y
=
1
y
+= [2, 3] = [1, 2, 3]
Integer-string
String
a = "number = "
a += 2 = "number = 2"
*Note:
integer-string concatenation
uses decimal
conversion.
String-list
List
s = "one"
s
+ ["two"] = ["one", "two"]
-=
Subtraction
assignment
Integer-integer
Integer
y
=
3
y
–=
1
=
2
*=
Multiplication
assignment
Integer-integer
Integer
x
=
3
x
*=
1
=
3
/=
Division
assignment
Integer-integer
Integer
s
=
3
s
/=
1
=
3
%=
Modulus
assignment
Integer-integer
Integer
y
=
3
y
%=
1
=
0
>>=
Right shift
assignment
Integer-integer
Integer
b = 0b11111110
b
>>= 1 = 0b01111111
<<=
Left shift
assignment
Integer-integer
Integer
a = 0b11111110
a
<<= 3 = 0b11111110000
Table 4.2: Operators (Continued)