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.
Soluções para a tarefa
Respondido por
7
quando se armazena um número com sinal em notação binária significa que um dos bits será utilizado como sinal
0 = positivo
1 = negativo
Ora, 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úmero
Isso faz com que o maior número positivo seja 2³¹-1 = 2.147.483.647
Considerando que um ano tem 365 * 24 * 60 * 60 segundos = 31.536.000
2.147.483.647 / 31.536.000 =
68 anos
35 dias
3 horas
14 minutos
7 segundos
ou 24855,13 dias
O que dá 19 de janeiro de 2038 as 3horas14minutos e 7 segundos
(tudo calculado no Excel) :)
0 = positivo
1 = negativo
Ora, 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úmero
Isso faz com que o maior número positivo seja 2³¹-1 = 2.147.483.647
Considerando que um ano tem 365 * 24 * 60 * 60 segundos = 31.536.000
2.147.483.647 / 31.536.000 =
68 anos
35 dias
3 horas
14 minutos
7 segundos
ou 24855,13 dias
O que dá 19 de janeiro de 2038 as 3horas14minutos e 7 segundos
(tudo calculado no Excel) :)
Perguntas interessantes
Português,
8 meses atrás
História,
8 meses atrás
Física,
8 meses atrás
Matemática,
1 ano atrás
Biologia,
1 ano atrás
Matemática,
1 ano atrás
Geografia,
1 ano atrás