NIm Provides various operators.
- Relational Operators
- Logical Operators
- Athematic Operators
Nim Arthematic Operators
Arithmetic operators are used to do operations such as add, division, subtraction, and division multiplication.
- addition (+) - Returns Integer
- subtraction(-) - returns Integer
- Multiplication(*) - Returns Integer
- Division (
/) - Returns floating - Division(division) - Returns Integer by ignoring fractional parts
- Modulus (mod)
| Operator | Title | Description | Example |
|---|---|---|---|
| + | Addition | addition of two or more operands | p+q=50 |
| - | Subtraction | subtraction of two or more operands | q-p=10 |
| * | Multiplication | multiplication of two or more operands | p*q=600 |
| / | Divide | results quotient after the division of values | q/p=1.5 |
| Div | Integer Division | Return the remainder after the division of values | q div p=5 |
| mod | Modulus | Return the remainder after the division of values | q mod p=10 |
Here is an arithmetic operator example
let
m = 17
n = 5
echo m + n
echo m - n
echo m * n
echo m / n
echo m div n
echo m mod n
Output:
22
12
85
3.4
3
2
Nim Relational Operators
Relational operators are used to compare the two operands and return a bool value.
| Parameter | Number Symbol | Description |
|---|---|---|
| Equal | == | Both operands are equal or not,return boolean value |
| Not Equal | != | Both operands are equal or not,return boolean value |
| Less Than | < | Used in One value is less than other Comparison |
| Greater Than | > | Used in One value is greater than other Comparison |
| Less Than Equal | <= | Used in One value is less than or equal to other comparisons |
| Greater Than or Equal | >= | Used in One value is greater than or equal other comparisons |
Relational operator example
let opearnd1 = 10;
let operand2 = 20;
## Comparision Operators example
opearnd1 > operand2; ## false
operand1 < operand2; ## true
operand1 >= operand2; ## false
operand1 <= operand2; ## true
operand1 == operand2; ## false
operand1 != operand2; ## true
operand1 < operand2; ## true
Nim Logical Operators
Logical operators are applies two operands and return a boolean value always. It is used to evaluate expression truthness.
It supports three operators in operators
Logic And operator( and
Logic OR operator( or
Logic Not operator( not)
Logic XOR operator( not)
and |Both operands are true, return true, else false|
|Logical OR|or|Both or One of the operands is true, return true, else false|
|Logical NOT|Not|Returns reverse of Operand value. return true, else false|
|Logical XOR |xor|Returns true, if one operand is true, other operation is false|NIM Logical Operators Examples
This is an example of a logical operator with code.
let opearnd1 = true;
let operand2 = false;
echo operand1 and operand2;
echo operand1 and true;
echo operand1 or true;
echo operand2 or false;
echo not operand1
echo not operand2
echo operand1 xor operand2
Output
false
true
true
true
false
true
true
Nim Operators
shl operator: Bit shift left
Here is an example
echo(100'i8 shl 1) # -56
echo(100'i16 shl 1) # 200
echo(100'i32 shl 1) # 200
echo(100'i64 shl 1) # 200
shr operator: Bit shift right
Here is an example
echo(-100'i8 shr 1) # -50
echo(-100'i16 shr 1) # -50
echo(-100'i32 shr 1) # -50
echo(-100'i64 shr 1) # -50
addr operator
addr operators return the l-value of a variable. l-value contains the location or value of the location.
Here is an example
var test = "test"
echo repr(addr(test2))
\## ptr 0x42d4e0 --> 0x7fabeffa6090"test"