• Matéria: Informática
  • Autor: maneiro2008p4vazr
  • Perguntado 8 anos atrás

Em sistemas Unix é possível descobrir em um determinado instante quantos segundos se
passaram desde 01 de janeiro de 1970 até o instante em questão. Usando este tipo de
informação é possível, por exemplo, calcular através de uma simples subtração quantos
segundos se passaram entre dois instantes de tempo diferentes. Nestes sistemas Unix
costumava-se usar uma variável inteira de 32 bits com sinal para contar os segundos
desde 01 de janeiro de 1970. Isto pode causar um enorme problema porque após um
determinado tempo a quantidade de segundos que se passaram ultrapassa o maior
número inteiro com sinal que se pode armazenar em 32 bits e aí problemas parecidos
com o bug do ano 2000 aparecem.
Para simplificar o problema considere que um ano tem sempre 365 dias de 24 horas.
Calcule em que ano o número de segundos irá ultrapassar o limite imposto pelo uso de
32 bits com sinal.

Respostas

respondido por: bokomoko
0
quando se armazena um número com sinal em notação binária significa que um dos bits será utilizado como sinal0 = positivo1 = negativoOra, se o número tem 32 bits e um bit vai ficar para o sinal então restam 31 bits para o valor do númeroIsso faz com que o maior número positivo seja 2³¹-1 = 2.147.483.647Considerando que um ano tem 365 * 24 * 60 * 60 segundos = 31.536.0002.147.483.647 / 31.536.000 = 68 anos 35 dias3 horas14 minutos7 segundosou 24855,13 diasO que dá 19 de janeiro de 2038 as 3horas14minutos e 7 segundos(tudo calculado no Excel) :)
Leia mais em Brainly.com.br - brainly.com.br/tarefa/13719952#readmore
Leia mais em Brainly.com.br - https://brainly.com.br/tarefa/13867060#readmore
Perguntas similares