Módulo De Um Número Inteiro
O que é módulo de um número inteiro
A coisa mais simples do mundo e também a que mais causa confusão quando as pessoas começam a brincar com programação ou matemática aplicada. O módulo de um número inteiro nada mais é do que o valor absoluto dele, ou seja, a distância daquele número até o zero na reta numérica. Ponto. Se o número já é positivo, o módulo é ele mesmo. Se é negativo, o módulo inverte o sinal e vira positivo. Isso vale para todo número inteiro, sem exceção. Eu trabalho com processamento de dados e engenharia de software há anos, e já vi gente cometer erros bêbados por causa disso. A função em Python é simplesmente abs(), em C/C++ você usa abs() para inteiros e fabs() para floats. Em JavaScript, Math.abs(). O problema é que essas linguagens tratam tipos de forma diferente, e isso gera efeitos colaterais que ninguém avisa. Aqui vai um exemplo real que me aconteceu: estava fazendo cálculo de distância euclidiana em um projeto de geolocalização, e precisei calcular módulos de diferenças entre coordenadas. O código parecia certo. Mas quando os valores eram negativos, alguns compiladores e linguagens diferentes devolviam resultados inesperados. O C com números de ponto flutuante, por exemplo, usa abs() apenas para inteiros. Para floats, você precisa de fabs(). Misturar as duas coisa gera compile error silencioso em alguns cenários, ou pior, um warning que você ignora e começa a ver números errados no output semanas depois.
Outro detalhe que quase todo mundo esquece: módulo de zero é zero. Eu já vi gente escrever condições do tipo "se módulo for diferente de zero, faz alguma coisa", quando na verdade o próprio módulo já te daria um numero válido sem precisar de nenhuma verificação extra. Isso economiza uma linha de código e evita bugs em loops que testam divisibilidade.
Como calcular passo a passo
Vamos ao que realmente importa: a mecânica. Pegue o número inteiro. Se ele for maior ou igual a zero, pronto, esse é o módulo. Se for menor que zero, multiplique por -1. O resultado será sempre positivo ou zero. Nunca negativo. Isso é uma propriedade fundamental que as pessoas esquecem quando tentam generalizar para outros contextos. Exemplo prático Pegando o número -7. Ele é menor que zero, então aplicamos a regra de inverter o sinal: -7 multiplicado por -1 dá 7. O módulo de -7 é 7. Agora pegando o número 42. Ele já é positivo, então o módulo é 42. Simples.

No código, fica ainda mais direto: Python: abs(-15) retorna 15. abs(15) retorna 15. abs(0) retorna 0. C: abs(-15) retorna 15 (para inteiros). Para long, usa-se labs(). Para long long, llabs(). Escolher a função errada gera truncamento ou overflow silencioso.
Pegadinhas que todo mundo cai
O módulo não é o mesmo que arredondamento. Muita gente confunde porque ambos transformam números negativos em positivos, mas o caminho é diferente. Arredondamento obedece regras de casa decimal. Módulo simplesmente descarta o sinal. São operações distintas que, por coincidência, às vezes chegam no mesmo resultado. Também tem o caso do módulo em módulo de operadores em Python com números negativos. O operador % em Python tem comportamento diferente do módulo matemático clássico quando os operandos têm sinais misturados. Por exemplo, -7 % 3 em Python retorna 2, não -1. Isso acontece porque Python adota a convenção de que o resto tem sempre o mesmo sinal do divisor. Em C, o resultado seria -1. Se você está migrando código de uma linguagem para outra, essa diferença já causou bugs difíceis de rastrear em projetos reais. Outro ponto: módulo de números grandes pode estourar o tipo. Em C, por exemplo, INT_MIN (-2147483648 em sistemas de 32 bits) é um caso especial. O módulo desse valor não cabe em um int de 32 bits assinado, porque o intervalo positivo vai apenas até 2147483647. A solução é usar long long ou tratar esse caso isoladamente antes de chamar abs().
Dica rápida para evitar dor de cabeça
Se você trabalha com valores que podem ser o menor inteiro possível do tipo (INT_MIN, LONG_MIN), faça uma verificação antes de chamar a função de módulo. Um if simples para checar se o valor é igual ao mínimo evita overflow. É pouco custo e elimina um bug que aparece só em produção, dias ou semanas depois. Resumindo: módulo de um número inteiro é a transformação desse número na sua versão positiva. A regra é simples, mas os detalhes de implementação variam entre linguagens e casos extremos exigem atenção. Conhecimento da teoria é só o começo; saber onde a coisa estoura é o que separa quem escreve código que funciona em todos os cenários de quem só testou com números fáceis.

Galeria
-
Valor Absoluto ou Módulo de um Número Inteiro - Matemática na Web -
Módulo (ou Valor Absoluto) e Oposto (ou Simétrico) de um número inteiro ... -
7º Ano - Módulo de um número inteiro e números opostos! - YouTube