# BASIC 256 - Language Documentation

en:operators

## Operators

The operators +, -, *, /, and ^ are used to perform addition, subtraction, multiplication, division, exponentiation of floating point and integer numbers. Valid operands are numeric constants and/or numeric variables.
The operators %, \, &, |, and ~ are used to calculate modulo, integer division, bitwise and, bitwise or, and bitwise negation (not) of integer expressions. Floating point numbers will be coverted to an integer value before calculation.
The = operator is used both for assignment to variables, and to test for equality. The + operator may be used to perform concatenation of any combination of string constants and string variables. The : operator can separate multiple statements on a single line. The ; operator suppresses the new line that is printed from a PRINT statement. The # operator is a shortcut for the Rem statement, and is interchangeable with it.

Arithmetic Operators
Operator | Name | Example | Comments
--- | --- | --- | ---
+ | Addition | a + b | add two numric values
- | Subtraction | a - b | subtract two numric values
* | Multiplication | a * b |
/ | Division | a / b | Returns a decimal number of times that b goes into a.
\ | Integer Division | a b | Returns the number of whole times that b goes into a.
% | Modulo | a % b | Returns the remainder of the integer division of a and b.
++ | Increment Prefix | ++a | Increment (add one) the the variable and return the value after the increment. (may be applied ONLY to numeric variables or array elements) 1
++ | Increment Suffix | a++ | Return the value of the variable and then increment the variable by one for the next time it is accessed. (may be applied ONLY to numeric variables or array elements) 1
– | Decrement Prefix | –a | Decrement (subtract one) the the variable and return the value after the decrement. (may be applied ONLY to numeric variables or array elements) 1
– | Decrrement Suffix | a– | Return the value of the variable and then decrement the variable by one for the next time it is accessed. (may be applied ONLY to numeric variables or array elements) 1

Comparison Operators
Operator | Name | Example | Comments
--- | --- | --- | ---
= | Equal | a = b | Returns true of two values are equal
< | Less Than | a < b |
> | Greater Than | a > b |
<= | Less Than or Equal | a <= b |
>= | Greatet Than or Equal | a >= b |
<> | Not Equal | a <> b |

Logical Operators
Operator | Name | Example | Comments
--- | --- | --- | ---
NOT | Logical Negation | NOT a |
AND | Logical Conjunction | a AND b |
OR | Logical Disjunction | a OR b |
XOR | Logical Exclusive Disjunction | a XOR b |

Bitwise Operators
Operator | Name | Example | Comments
--- | --- | --- | ---
~ | Bitwide Negation | ~a |
& | Bitwise Conjunction | a & b |
| | Bitwise Disjunction | a | b | Returns the bits of integer a or integer b.

String Operators
Operator | Name | Example | Comments
--- | --- | --- | ---
+ | Concatenation | a$ + b$ | Appends b$ to the end of a$.

Order of Operations
Level | Operators | Category/Description
--- | --- | ---
1 | ( ) | Grouping
2 | ^ | Exponent
3 | - ~ | Unary Minus and Bitwise Negation (NOT)
4 | * / \ | Multiplication and Division
5 | % | Integer Remainder (Mod)
6 | + - | Addition, Concatenation, and Subtraction
7 | & | | Bitwise And and Bitwise Or
8 | < ⇐ > >= = <> | Comparison (Numeric and String)
9 | NOT | Unary Not
10 | AND | Logical And
11 | OR | Logical Or
12 | XOR | Logical Exclusive Or

1 new with version 0.9.9.10

en/operators.txt · Last modified: 2012/10/27 11:17 by admin