$log2 (Logaritmo na Base 2)
Última atualização: 2026-10-09
$log2 (Logaritmo na Base 2)
$log2 retorna o logaritmo na base 2 de um número, usado em contextos de computação como profundidade de busca binária, altura de árvore binária ou estimativa de largura de bits, por exemplo quantos bits um número precisa. Um argumento null ou ausente resulta em null; a entrada deve ser positiva — valores zero ou negativos retornam null. É um caso especial de $log com base fixa em 2, mantendo o código conciso. $log2 inverte potências de dois, sendo a contraparte de $pow: [2, x].
| Categoria | Matemática |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ $log2: <expressão numérica> }
⚙️ Parâmetros
| valor numérico | Um valor numérico ou uma expressão que resolva para um; deve ser maior que 0. |
|---|
Retorno:O logaritmo de base 2 da entrada; null para entrada não positiva, null ou ausente
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $log2: estimar quantos bits binários um inteiro precisa
db.numbers.aggregate([
{ $project: {
bits: { $ceil: { $add: [{ $log2: '$value' }, 1] } }
} }
])
Saída:
{ '_id': 1, 'bits': 10 }
{ '_id': 2, 'bits': 8 }
📌 Notas
- A base é fixa em 2, equivalente a $log: [x, 2]
- A entrada deve ser maior que 0; valores zero ou negativos retornam null
- Ele inverte $pow com base 2
🏷️ Tags Relacionados
💡 Casos Relacionados
Mais casos práticos em breve.
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QQuando usaria $log2?
ABusca binária, profundidade de árvore binária e estimativa de largura de bits.
QQuanto vale $log2(1024)?
AÉ 10, pois 2 elevado a 10 é 1024.
QComo $log2 e $pow se relacionam?
ASão inversos: $pow: [2, x] calcula 2 elevado a x e $log2 faz o caminho de volta.