Calculadora de Exponenciação Modular
Calcule (base^expoente) mod m de forma rápida e exata usando exponenciação binária por quadrados.
Computed with exponentiation by squaring
Como esta calculadora funciona?
A exponenciação modular encontra (base^expoente) mod m. Em vez de calcular a grande potência diretamente, usa exponenciação binária por quadrados: elevar a base ao quadrado e dividir o expoente ao meio em cada passo, multiplicando no resultado nos bits definidos, reduzindo por mod m ao longo do processo. Isso executa em cerca de log2(expoente) multiplicações e permanece exato com inteiros grandes.
Fórmula
How this is calculated
Insira três inteiros: a base b, um expoente não negativo e e um módulo positivo m. A calculadora retorna o resto de b elevado a e dividido por m. Calcular b^e diretamente causaria overflow para expoentes grandes, portanto esta ferramenta usa exponenciação por quadrados (também chamada de exponenciação binária).
O algoritmo começa com result = 1 e reduz a base módulo m. Em seguida percorre os bits do expoente do menos significativo ao mais significativo: sempre que o bit atual é 1, multiplica o resultado acumulado pela base atual (mod m), e em cada passo eleva a base ao quadrado (mod m) e desloca o expoente um bit para a direita. Como todo produto intermediário é reduzido módulo m, os números permanecem pequenos e o trabalho é proporcional a log2(e) multiplicações em vez de e delas. Toda a aritmética é realizada com BigInt do JavaScript para que os resultados sejam exatos independentemente do tamanho.
Premissas e casos extremos: o expoente deve ser um número inteiro e >= 0 e o módulo deve ser um inteiro positivo m > 0 (mod 0 é indefinido). A base pode ser negativa; ela é primeiro normalizada para o intervalo 0..m-1 usando ((b mod m) + m) mod m, portanto o resto retornado é sempre não negativo. Quando e = 0 o resultado é 1 mod m. Quando m = 1 o resultado é sempre 0.
Perguntas frequentes
Para expoentes grandes, b^e é astronomicamente grande e lento ou impossível de armazenar. Reduzir módulo m em cada multiplicação mantém todos os valores abaixo de m e termina em cerca de log2(e) passos.
Sim. A base é normalizada para 0..m-1 antes do laço usando ((b mod m) + m) mod m, portanto uma base negativa ainda produz um resto correto não negativo.
Por convenção b^0 = 1, portanto o resultado é 1 mod m (que é 0 quando m = 1).
Também conhecido como
TG we-Calculate Editorial Team. (2026). Calculadora de Exponenciação Modular [Online calculator]. TG we-Calculate. https://we-calculate.com/pt/calculator/modular-exponentiation-calculator
TG we-Calculate Editorial Team. "Calculadora de Exponenciação Modular." TG we-Calculate. 2026. https://we-calculate.com/pt/calculator/modular-exponentiation-calculator.
TG we-Calculate Editorial Team, "Calculadora de Exponenciação Modular," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/pt/calculator/modular-exponentiation-calculator
@misc{wecalculate_modular_exponentiation_calculator, title = {Calculadora de Exponenciação Modular}, author = {{TG we-Calculate Editorial Team}}, howpublished = {\url{https://we-calculate.com/pt/calculator/modular-exponentiation-calculator}}, year = {2026}, note = {TG we-Calculate} }
Esta calculadora ajudou você?
