Por que o número 2.147.483.647 é especialmente importante

Por , 12 de January de 2016 a las 07:00
Por que o número 2.147.483.647 é especialmente importante
digital

Por que o número 2.147.483.647 é especialmente importante

Por , 12 de January de 2016 a las 07:00

Você sabe da existência do número 2147483647? Provavelmente não, mas agora você vai saber por que é tão importante no mundo da tecnologia.

Existem humanos extraordinariamente inteligentes que entendem números e matemática de uma maneira incomum. Há outros, como eu, que nunca foram muito hábeis com números e é por isso que acabam dedicando sua vida a outras áreas. No entanto, qualquer amante da tecnologia sabe que os computadores trabalham com números no seu nível mais básico e, por isso mesmo, é fácil supor que os computadores e os números sempre se dão bem. Isso não é inteiramente verdade.

Aparentemente, há um bug de software muito simples que faz com que muitos computadores, sem importar qual seja sua finalidade, parem de funcionar completamente na frente de um número: 2.147.483.647. Este número tem um poder tão forte que pode criar explosões em foguetes, fazer aviões “desaparecerem” quebrar a Internet e coisas um pouco menos desastrosas, como deter os contadores de visitas em vídeos do YouTube, ou a quantidade de pontos marcados em um jogo.

O que faz 2.147.483.647?

2.147.483.647, por extenso: dois bilhões cento e quarenta e sete milhões quatrocentos oitenta e três mil seiscentos quarenta e sete. Leonhard Euler, um matemático e físico suíço, provou em 1772 que era o maior número primo que existia, e continuou tendo esta posição até 1851.

Depois de ter um começo tão importante no mundo da matemática, também teve uma história interessante na área da computação. Este número é o valor máximo positivo que um sistema de 32 bits pode ter. Pode ser que isso não pareça um problema real, porque há um grande número com 10 dígitos, mas a verdade é que é, porque quando um sistema de 32 bits enfrenta a possibilidade de números maiores a ele, ocorre um erro chamado overflow ou “transbordamento aritmético”.

Quando o transbordamento aritmético se torna um problema

Talvez o transbordamento aritmético não pareça grande coisa em situações como a que aconteceu no YouTube em dezembro de 2014, quando o vídeo fez PSY ficar famoso, “Gangnam Style” chegou a 2.147.483.647 visualizações e o sistema de 32 bits da web de vídeo não pôde continuar contando, simplesmente porque tinha atingido o máximo. Mas isso acaba virando um problema quando são usados sistemas de 32 bits para missões espaciais e aviões comerciais.

Em 4 de junho de 1996 decolou o primeiro voo do foguete Ariane 5 gerenciado pela Agência Espacial Europeia. Dentro dele não havia uma tripulação, mas carregava quatro satélites científicos muito caros. O voo explodiu apenas 39 segundos após a decolagem, perdendo cerca de US$ 370 milhões. Depois de algumas investigações perceberam que o problema não era nada mais do que um bug de software que envolve o número 2.147.483.647. Aparentemente, Ariane 5 necessitava uma aceleração horizontal maior do que os modelos anteriores, porque seu trajeto era diferente, e isso fez com que todos os computadores que controlavam o piloto automático ficassem confusos e começassem uma sequência de auto-destruição.

Entendendo melhor o problema

Muitos vivemos durante o Y2K, algumas pessoas acreditavam que quando terminasse o século XX, os computadores iriam parar de funcionar, os aviões cairiam do céu, e alguns até pensaram que os extraterrestres viriam buscá-los. O problema real no final de 1999 é que todos os computadores foram programados para tirar os dois últimos dígitos do ano para saber em qual estávamos. Portanto, se era o ano de 1984, por exemplo, o computador o designava como “84” e nada mais. Com a chegada de 2000, o computador poderia se confundir, acreditando que, após 1999 voltaria a 1900, pelos dois últimos dígitos do ano novo.

Isto não se tornou um problema, porque os sistemas foram organizados antes de que chegasse a ser, mas é um bom exemplo do que acontece com o número 2.147.483.647 em sistemas de 32 bits quando atingem seu ponto máximo. Felizmente, agora temos sistemas de 64 bits que não sofrem com essa limitação.

Imagem da capa: Shutterstock /gonin

Texto Anterior

Por que não já não se usam screensavers no PC

Por que não já não se usam screensavers no PC
Próximo Texto

Vale a pena aumentar a memória RAM do seu computador?

Vale a pena aumentar a memória RAM do seu computador?