# PBASIC Programming/Basic Arithmetic

## Arithmetic OperatorsEdit

We can use some of the basic arithmetic operators for common operations. Operators can be used with variables, constants, or numbers.

### Common OperatorsEdit

To add two numbers together, we use the "+" operator:
```Var1 + Var2
```
Subtraction
To subtract one number from the other, we use the "-" operator:
```Var1 - Var2
```
Multiplication
To multiply, we use the "*" operator:
```Var * Var2
```
Division
To divide two numbers, we use the "/" operator:
```Var1 / Var2
```

### Other Math FunctionsEdit

Multiply High
"**" returns upper 16 bits of 32 bit result:
```Var1 ** Var2
```

## AssignmentEdit

We can use the "=" operator to assign a value to a variable. For instance, we can write:

```MyVar VAR Byte
MyVar = 10
```
```MyVar VAR Byte
MyVar = 10 + 5
```
```MyVar VAR Byte
MyVar2 VAR Byte
MyVar = 10
MyVar2 = MyVar + 10
```

We can also write a self-assignment, or an assignment where a variable appears on the left and the right side of the statement:

```MyVar VAR Byte
MyVar = 10
MyVar = MyVar + 1
```

On the third line of this program, MyVar equals 10, and then we add one and store the new result into MyVar again. After this program runs, MyVar contains the value of 11.

## Overflow and UnderflowEdit

Overflow occurs when we attempt to store a number in a variable that is too large for that variable. For instance, if we try to store a number that is larger then 255 in a Byte, or a number that is larger then 65535 in a word. Underflow is the exact opposite problem, where we attempt to create a negative number that is so low that the variable cannot hold it.