Bits para 1000 valores distintos
- Entrada
- x=1000, base=2
- Saída esperada
- log₂(1000) ≈ 9.965784285
Como não é número inteiro, o resultado se arredonda para cima: são precisos 10 bits, pois 2⁹=512 é insuficiente e 2¹⁰=1024 cobre os 1000 valores.
logaritmo binário base 2
log₂(x) é o número de vezes que 2 precisa ser multiplicado por si mesmo para chegar a x: log₂(1024)=10 porque 2¹⁰=1024. É a base natural para contar bits, níveis de uma árvore binária e passos de um algoritmo O(log n).
Como não é número inteiro, o resultado se arredonda para cima: são precisos 10 bits, pois 2⁹=512 é insuficiente e 2¹⁰=1024 cobre os 1000 valores.
2³=8 exatamente, então uma árvore binária completa com 8 folhas tem 3 níveis de profundidade.
Uma frequência 100 vezes maior equivale a cerca de 6,644 oitavas acima, porque 2^6,644≈100.
log_b(x) = y significa que b^y = x, ou seja, o logaritmo é simplesmente um expoente, a potência à qual a base precisa ser elevada. É a operação inversa da exponenciação. Por exemplo, log₂(8) = 3 porque 2³ = 8, e log₁₀(100) = 2 porque 10² = 100.
⌈log₂(1000)⌉=10 bits. Como log₂(1000)≈9,9658 não é inteiro, 9 bits (2⁹=512) não bastam, e o resultado é arredondado para o próximo inteiro, 10, cujo 2¹⁰=1024 cobre os 1000 valores com folga.
Porque log₂(8)=3 exatamente, já que 2³=8. Cada nível de uma árvore binária completa dobra o número de folhas do nível anterior, então o número de níveis é sempre o log₂ do total de folhas.
O log₂ da razão entre duas frequências dá o número de oitavas entre elas, porque cada oitava dobra a frequência. Uma nota 100 vezes mais aguda em frequência está log₂(100)≈6,644 oitavas acima, não porque 100 seja um múltiplo redondo de 2, mas porque 2^6,644 se aproxima de 100.
Os cálculos ficam apenas no navegador. Nenhum dado é enviado ao servidor.