# Erlang - Operators

An operator is a symbol that tells the compiler to perform specific mathematical or logical manipulations.

Erlang has the following type of operators −

• Arithmetic operators
• Relational operators
• Logical operators
• Bitwise operators

## Arithmetic Operators

Erlang language supports the normal Arithmetic operators as any the language. Following are the Arithmetic operators available in Erlang.

Show Examples

Operator Description Example
+ Addition of two operands 1 + 2 will give 3
Subtracts second operand from the first 1 - 2 will give -1
* Multiplication of both operands 2 * 2 will give 4
/ Division of numerator by denominator 2 / 2 will give 1
rem Remainder of dividing the first number by the second 3 rem 2 will give 1
div The div component will perform the division and return the integer component. 3 div 2 will give 1

## Relational Operators

The Relational Operators allow the comparison of objects. Following are the relational operators available in Erlang.

Show Examples

Operator Description Example
== Tests the equality between two objects 2 = 2 will give true
/= Tests the difference between two objects 3 /= 2 will give true
< Checks to see if the left object is less than the right operand. 2 < 3 will give true
=< Checks to see if the left object is less than or equal to the right operand. 2 =<3 will give true
> Checks to see if the left object is greater than the right operand. 3 > 2 will give true
>= Checks to see if the left object is greater than or equal to the right operand. 3 >= 2 will give true

## Logical Operators

These Logical Operators are used to evaluate Boolean expressions. Following are the logical operators available in Erlang.

Show Examples

Operator Description Example
or This is the logical “or” operator true or true will give true
and This is the logical “and” operator True and false will give false
not This is the logical “not” operator not false will give true
xor This is the logical exclusive “xor” operator True xor false will give true

## Bitwise Operators

Erlang provides four bitwise operators. Following are the bitwise operators available in Erlang.

Show Examples

Sr.No. Operator & Description
1

band

This is the bitwise “and” operator

2

bor

This is the bitwise “or” operator

3

bxor

This is the bitwise “xor” or Exclusive or operator

4

bnot

This is the bitwise negation operator

Following is the truth table showcasing these operators −

p q p & q p | q p ^ q
0 0 0 0 0
0 1 0 1 1
1 1 1 1 0
1 0 0 1 1

## Operator Precedence

The following table shows the Operator Precedence for the Erlang operators in order of descending priority together with their associativity. Operator precedence and associativity are used to determine the evaluation order in un-parenthesized expressions.

Operators Associativity
:
#
bnot,not
/,*,div,rem,band,and Left associative
+,-,bor,bxor,or,xor Left associative
==,/=,=<,<,>=,>