Rapid-Q Documentation by William Yu (c)1999 | Appendix C: Операторы |
Операция | Оператор | Приоритет | Описание |
String index | [] | 1 | Возвращает символ из строки т.е. s$[2] второй символ из строки s$ |
Возведение в степень | ^ | 1 | Вычисляет степень числа т.е. 2^6 это 2 в степени 6 |
Отрицание | - | 1 | Меняет знак числа т.е. -99 это -99 |
Умножение | * | 2 | Умножение 2 чисел т.е. 2*6 это 2 умноженное на 6 |
Деление чисел с плавающей точкой | / | 2 | Деление 2-x чисел с плавающей точкой т.е. 6.5/2.6 is 6.5 деленное by 2.6 |
Деление целых чисел (Integer Division) | \ | 2 | Деление 2 целых чисел Перед выполнением операции целочисленного деления операнды окргляются до целых. Результат обрезается до целой величины. т.е. 6\2 это 6 деленное на 2 |
Побитовый сдвиг влево (Left Bit Shift) | SHL | 2 |
Сдвигает биты влево на заданную величину т.е. 10 SHL 2 это число 10 биты которого были сдвинуты на 2 позиции влево |
Побитовый сдвиг вправо (Right Bit Shift) | SHR | 2 | Сдвигает биты вправо на заданную величину т.е. 10 SHR 2 это число 10 биты которого были сдвинуты на 2 позиции вправо |
Остаток от деления (Modulus/Remainder) | MOD | 3 | Возвращает остаток от деления т.е. 15 MOD 10 это 15/10 чей остаток равен 5 |
Inverse Modulus | INV | 3 | Возвращает the inverse of a number in modulus т.е. 3 INV 26 The inverse of 3 is 9 in 1 (MOD 26) |
Сложение | + | 4 | Складывает 2 операнда (строки в том счисле) т.е. 3+6 это 3 плюс 6 = 9 т.е. "hi"+"world" это "world" добавленное к "hi" = "hiworld" |
Сложение | & | 4 | То же самое, что '+' добавлено для совместимости с другими языками Basic , например VB (Visual basic). |
Вычитание (Subtraction) | - | 4 | Вычитает два операнда (в том числе строки) т.е. 6-3 это 6 минус 3 = 3 т.е. "jello"-"l" это "jello" минус все вхождения "l" = "jeo" |
Отношение | Operator | Precedence | Description |
Equality | = | 5 | Tests for equality between 2 operands (strings included) т.е. 2=2 if 2 equals 2 then "true" else "false" |
Inequality | <> | 5 | Tests for inequality between 2 operands (strings included) т.е. "hello"<>"world" if "hello" is not equal to "world" then "true" else "false" |
Less than | < | 5 | Tests if operand is less than another (strings included) т.е. 2<10 if 2 is less than 10 then "true" else "false" |
Greater than | > | 5 | Tests if operand is greater than another (strings included) т.е. "z">"a" if "z" is greater than "a" then "true" else "false" |
Less than or equal | <= | 5 | Tests if operand is less than or equal to another (strings included) т.е. 2<=10 if 2 is less than or equal to 10 then "true" else "false" |
Greater than or equal | >= | 5 | Tests if operand is greater than or equal to another (strings included) т.е. 20>=10 if 20 is greater than or equal to 10 then "true" else "false" |
Operation | Operator | Precedence | Description |
Logical complement | NOT | 6 | Возвращает the complement (inverted bits) т.е. NOT -1 -1 has all bits set, NOT -1 inverts all bits |
Conjunction | AND | 7 | Compare corresponding bits in 2 operands and sets the corresponding bit in the result to 1 if both bits are 1. т.е. 5 AND 3 5 AND 3 = 1 since their first bits are set |
Disjunction (inclusive "or") | OR | 8 | Compares corresponding bits in 2 operands and sets bit to 1 if either one has a corresponding bit set. т.е. 5 OR 3 5 OR 3 = 7 since bits overlap |
Exclusive "or" | XOR | 9 | Compares corresponding bits in 2 operands and sets bit to 1 if only one of the operands has a corresponding bit set. т.е. 5 XOR 3 5 XOR 3 = 6 since one bit overlaps |
Пример INFIX expression: A = 4 * 7 + (4 - 1)^6INFIX notation is easier to use and understand than POSTFIX notation. In fact, Rapid-Q's POSTFIX notation is a simple side effect, and was not intentional. Please avoid using POSTFIX if possible.
Пример POSTFIX expression: A = (4) (7) (*) (4) (1) (-) (6) (^) (+)The 2 expressions should evaluate to 757. As you'll note, when dealing with POSTFIX notation, make sure all operands and Операторы are enclosed in braces. When dealing with negation, you'll have to do this instead:
Пример POSTFIX expression w/negation: A = (5) (0-5) (-)Notice that (0-5) and (-5) return different results.
Содержание | Up | Internal Definitions -> |