Do corpo inteiro do artigo de Steve Yegge,
Candidates should know what bits and bytes are. They should be able to count in binary; e.g. they should be able to tell you what 2^5 or 2^10 is, in decimal. They shouldn't stare blankly at you when you ask with 2^16 is. It's a special number. They should know it.
Eu fui jogado fora do pedaço que você citou na pergunta; Parecia que um candidato deveria ser capaz de descrever sua significância, mas no contexto ele está dizendo que os candidatos devem saber, acima de tudo, o que é a conversão decimal de 2 16 . / strong>
O significado disso é que, como nós humanos ainda usamos decimal para contagem, especialmente em nossas cabeças (na maioria das circunstâncias), precisamos conhecer as capacidades aproximadas dos blocos de bytes comuns que usamos para armazenamento, memória ou até mesmo codificação de caracteres. Como um byte é de 8 bits, os mais comuns são 8, 16, 24, 32 e 64.
No momento, eu diria que 2 32 é a capacidade mais comumente encontrada pelo desenvolvedor. Eu desconfio de desenvolvedores que não sabem que 2 32 são aproximadamente 4 bilhões (valor máximo de ~ 2 bilhões se assinados), já que isso significa que eles nunca se preocuparam em descobrir aproximadamente quantos registros podem ser armazenados em seus bancos de dados que usam 32 bits int
s para chaves primárias ou quando o código antigo que usa 32 bits int
s para IDs, datas, etc. precisará ser refatorado para 64 bits. > 1
2 16 é a capacidade total do Java short
. (Números totais entre -2 15 e 2 15 -1)
Um desenvolvedor deve saber de cor o que é 8 bits. Entre os muitos usos comuns está a codificação de caracteres ASCII.
Eu não esperaria que um programador soubesse 2 14 ou 2 18 , mas provavelmente esperaria que eles soubessem 2 16 já que é um número muito comum e um número suficientemente curto (65536) para lembrar facilmente o número completo.
1: Se você navega nas tabelas de classificação do Call of Duty: MW2 ou iPhone Game Center, muitas vezes você vê os trapaceiros no topo com valores de pontuação altos de 2.147.483.647, que é 2 31 -1, o valor máximo de um inteiro assinado 32 .