Certo computador pode ser equipado com 1.073 .741 .824 bytes de memória. Por que um fabricante escolheria tal número peculiar, em vez de um número fácil de lembrar, como 1 milhão?
Passo 1
O enunciado dá o número de bytes disponível em um computador:
bytes, e pergunta por que um fabricante escolheria esse número “peculiar” em vez de um número redondo como
.
Informações relevantes:
Informações relevantes:
- Valor dado:
bytes. - Valor alternativo citado:
bytes (um milhão). - A pergunta é qualitativa: requer explicar a razão técnica/arquitetônica por trás dessa escolha.
Passo 2
Primeira observação: verificar se o número dado é uma potência de dois (dica clássica em informática). Vou calcular potências de dois relevantes, mostrando como fazer sem calculadora:
-
. -
. -
.
Para multiplicar
por
sem calculadora, faço:
-
. -
. - Somando:
.
Portanto
. Resultado: o número dado é exatamente uma potência de dois.
Passo 3
Explicação do conceito essencial (passo-a-passo, sem jargão complicado):
- Em hardware digital, informação é representada em bits (0/1). Um “bit de endereço” é uma linha do barramento de endereços que pode assumir 0 ou 1.
- Se um sistema tem
bits de endereço, cada combinação desses bits aponta para uma posição distinta de memória. O número de combinações possíveis é . Isso significa que com bits de endereço é possível endereçar exatamente posições distintas.
Passo 4
Como cada posição de memória costuma corresponder a um byte (na maioria dos computadores), o total de bytes endereçáveis é
bytes quando há
bits de endereço. Assim:
- Se o fabricante fornece
bytes, isso é bytes, o que corresponde a ter bits de endereço — uma escolha natural para a arquitetura.
Passo 5
Por que isso é preferível a
bytes? Mostro numericamente:
-
. Em base 2 isso corresponde a . Numericamente , então . Ou seja , que não é uma potência inteira de dois. - Para implementar exatamente
bytes seriam necessários cerca de bits de endereço — não existe meio bit. Ter um número de bytes que não é implica arranjos de hardware mais complicados e desperdício/fragmentação na organização dos chips.
Passo 6
Conexão com nomes usuais e convenções:
- Em informática costuma-se aproximar:
é chamado informalmente de “quilobyte” (KB), de “megabyte” (MB) e de “gigabyte” (GB). Estritamente falando, a nomenclatura correta é , , , mas historicamente fabricantes e sistemas misturaram esses termos. - Assim
bytes é exatamente gibibyte ( bytes) — por isso aparece com esse valor “estranho” em vez de .
Passo 7
Razões práticas e de projeto (resumidas e concretas):
- Memórias são fabricadas em arrays organizados em potências de dois (linhas/colunas binárias), então
é natural e barato de implementar. - Barramentos e endereçadores digitais trabalham com números inteiros de bits; escolher
bytes evita lógica extra para mapear endereços “não binários”. - Sistemas operacionais, caches, páginas de memória e alinhamento usam tamanhos bacados em potências de dois — isso simplifica endereçamento e melhora eficiência.
- Usar exatamente
bytes não traz vantagem prática e tornaria o projeto mais complexo.
Passo 8
Exemplos rápidos para fixar:
-
bytes (aprox. ). -
bytes (aprox. ). -
bytes (aprox. ).
Veja como cada passo em potências de dois corresponde a “mil”, “milhão”, “bilhão” aproximados, mas sempre em potências inteiras de dois, o que é o que importa para hardware.
Resposta
Porque
bytes; memórias e barramentos são projetados em potências de dois (endereçamento por
bits dá exatamente
posições), então é muito mais simples e eficiente fabricar e endereçar
bytes (1 GiB) do que um valor decimal arbitrário como
.