Skip to content

Operadores aritméticos

Segue a lista dos operadores aritméticos:

  • + adição
  • - subtração
  • * multiplicação
  • / divisão com ponto flutuante
  • // divisão inteira (floor division)
  • % módulo (resto da divisão)
  • ^ exponenciação
  • - negação numérica (unary minus)

Os operadores de soma, subtração e multiplicação seguem a regra de que, se um número for float e o outro for integer, o resultado será float. Porém, se ambos forem integer, o resultado será integer. Na divisão, o resultado será sempre float.

OperaçãoResultadoDescrição
10 + 515Soma
10 - 55Subtração
10 * 550Multiplicação
10 / 33.3333333333333Divisão
10 // 33Divisão inteira
10 % 31Módulo (resto da divisão)
10 ^ 2100.0Exponenciação

Este operador foi introduzido na versão 5.3. A divisão com este operador sempre arredondará o número na direção do negativo.

$$ \overleftarrow{\quad -3 \quad -2 \quad -1 \quad …} $$

Exemplo:

> 5 // 2 -- 2
> -5 // 2 -- 3
> 20 // 7 -- 2
> -20 // 7 -- 3
OperadorDescrição
^Exponenciação
- # ~ notOperadores unários
* / // %Multiplicação, Divisão, Divisão Inteira, Módulo
+ -Adição e Subtração
..Concatenação
<< >>Operadores bit a bit
&Operador bit a bit
~Operador bit a bit
< > <= >= ~= ==Operadores Relacionais
andOperador Lógico
orOperador Lógico
local resultado = 2 + 3 * 4 -- A multiplicação tem precedência maior que a adição
print("Resultado de 2 + 3 * 4: " .. resultado) -- Saída: 14
local resultado2 = (2 + 3) * 4 -- Os parênteses mudam a ordem das operações
print("Resultado de (2 + 3) * 4: " .. resultado2) -- Saída: 20
local resultado3 = 2 ^ 3 * 4 -- A exponenciação tem precedência maior que a multiplicação
print("Resultado de 2 ^ 3 * 4: " .. resultado3) -- Saída: 32.0