[C con Clase] Solucionado!.

Pedro Rodrguez Castell alfaslave en hotmail.com
Mar Mar 25 20:57:10 CET 2008


Tenías razón amigos. Ahora me ha quedado claro. De 0 a 127 se necesitan solamente 7 bits. 
Esta tarde, en el trabajo, he estado confeccionando una tabla binaria de 16 bits y me he dado cuenta del error.
La cosa esta en que me cuesta asimilar algunos conceptos y hasta que no lo veo muy claro no me doy cuenta de lo que ocurre.
Con la tabla binaria lo he visto clarisimo... jejejeje.
 
Os agradezco mucho la ayuda. Enseguida habeis respondido y con explicaciones muy claras.
Estoy muy ilusionado con el curso.
Saludos.
> Date: Tue, 25 Mar 2008 12:31:31 -0500> From: vze266ft en verizon.net> To: cconclase en listas.conclase.net> Subject: Re: [C con Clase] Curso C++ de C con clase. Capítulo 11: Tipos de variables III: Estructuras.> > Hola Pedro,> > Pedro Rodrguez Castell wrote:> > Buenos días amigos.> > Hace poco he empezado el curso C++ que hay en la web y me he quedado > > encallado en este capítulo.> > > > Vamos a ver si se explicarme bien y logro que entendais mi duda.> > > > Muy bien. Veamos las dudas.> > > Después de leer concienzudamente el capítulo he empezado ha hacer los > > ejercicios que se plantean. No me ha costado mucho hacer el primero, ya > > que es bastante sencillo y los conceptos están muy bien explicados en el > > capítulo.> > En el segundo ejercicio, que trata sobre hacer una estructura FECHA > > utilizando campos de bits es donde me estoy haciendo un lio tremendo.> > Para hacer la estructura debo utilizar una sola variable "unsigned short > > int" (16 bits) donde deben almacenarse 3 campos que corresponden a DIA, > > MES y AÑO.> > > > DIA - debe ser capaz de almacenar valores del 1 al 31.> > MES - debe ser capaz de almacenar valores del 1 al 12.> > AÑO - debe ser capaz de almacenar valores del 1 al 128 (limite impuesto > > por el ejercicio).> > el primer año corresponde a 1960 y el último a 2087 por lo > > tanto sería 1960 + variable AÑO.> > > > Me temo que aquí es donde cometes un error. En primer lugar, el > ejercicio no dice que la estructura sea capaz de almacenar valores del 1 > al 128, por lo que esto es una inferencia tuya. En segundo lugar, si > usamos tu fórmula y diseño observamos lo siguiente:> > 1960 = 1960 + 1> 2087 = 1960 + 128> > Obviamente vemos que esto no es cierto. Lo que sí podemos inducir es que > los valores mínimo y máximo son:> > 1960 = 1960 + 0> 2087 = 1960 + 127> > El intervalo es [0,127].> > > Para DIA utilizo 5 bits (los necesarios para contar del 1 al 31).> > Para MES utilizo 4 bits (los necesarios para contar del 1 al 12 y aún me > > sobra).> > Para año utilizo 8 bits (los necesarios para contar del 1 al 128).> > > > Si sumo todos los bits que preciso para hacer la estructura salen 5 + 4 > > + 8 = 17 bits.> > > > No puedo hacer la estructura con un sólo unsigned short int, ya que solo > > tiene 16 bits.> > > > Efectivamente, pero con la explicación anterior, vemos que necesitamos 7 > bits y así llegamos a los 16 bits.> > > Otra cuestión es la siguiente:> > Si un "int" ocupa 16 bits que equivale a 2 Bytes. ¿Porque en el capítulo > > se cita que ocupa 4 Bytes?.> > > > Esto no es necesariamente correcto. Ten presente que estamos usando > 'unsigned short int' y no un 'unsigned int'. Con 'short int', tenemos > otro tipo de dato que suele ser menor a 'int'.> > En fin, hoy en día los compiladores establecen que 'short int' ocupa 2 > bytes e 'int' equivale a 4 bytes.> > > Soy consciente de que puede que sea una tonteria lo que estoy > > preguntando pero la verdad es que me estoy volviendo chiflado con este > > tema amigos. Espero que podais ayudarme con esto.> > > > No te preocupes, para esto mismo creamos la lista.> > > Espero que todo esto te ayude.> > Steven> > > > _______________________________________________> Lista de correo Cconclase Cconclase en listas.conclase.net> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
_________________________________________________________________
MSN Noticias
http://noticias.msn.es/comunidad.aspx
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20080325/574cb939/attachment.html>


Más información sobre la lista de distribución Cconclase