Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Entonces
Es conocido que HH MM SS
existen 24 horas al día, 00 00 00
cada hora tiene 60 . . .
minutos, cada minuto . . .
tiene 60 segundos . . .
23 59 59
-------------------
24 x 60 x 60 = 86,400
combinaciones
01 bytes puede almacenar pow(2, 8) = 256 combinaciones
02 bytes puede almacenar pow(2,16) = 65,535 combinaciones
03 bytes puede almacenar pow(2,24) = 16’777,216 combinaciones
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 0 1 1 0 0 1 1 1 1 1 0 0 1 0 0
Esta forma de almacenar las horas es utilizada por el DOS y WINDOWS para
almacenar la hora de creación y de última actualización de un archivo.
Escriba un programa que ingrese una hora y la
convierta a un número que la represente. Por
ejemplo la hora 22:31:08 es el número 46052.
Utilice el formato de almacenamiento de horas del
DOS y WINDOWS y manipulación de bits.
# include <iostream.h>
struct hora
{
int h;
int m;
int s;
};
void main(void)
{
struct hora h;
unsigned short int nroHora;
cout<<"Hora:" ; cin>>h.h;
cout<<"Minuto:" ; cin>>h.m;
cout<<"Segundo:"; cin>>h.s;
• Como los días sólo pueden ser de 1a 31, será necesario 5 bits,
pues log2 (31) ~5 (2 elevado a la 5 es 32)
• Como los meses sólo pueden ser 12, entonces necesitamos 4 bits,
pues log2 (12) ~4 (2 elevado a la 4 es16)
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0