[C con Clase] Duda tonta sobre Estructuras

Joaquin Fernandez joaquinfq en gmail.com
Mar Ene 9 17:36:33 CET 2007


> Otra duda. Una estructura con campos de bits es únicamente útil cuando
> se trabajan con números verdad? Aparte de que se utilicen para cosas de
> Hardware, los campos de bits sólo pueden contener números, cierto? Ya
> que no pueden contener letras o símbolos.

Estrictamente hablando, todo lo que se usa en una computadora sólo puede almacenar dos valores: 0 y
1, nada es alfanumérico. Depende de ti el sentido que le des a esos valores, puedes agrupar 4 bits y
decir que eso es un número BCD, o agarrar 7 y decir que es un valor EBCDIC, u 8 y lo intrepretas
como ASCII, etc; eso lo decides tú. Así que un campo de bit es solamente un bit y tomará dos valores
posibles: 0 o 1. El uso que generalmente se le da a un campo de bit es para almacenar un valor booleano.

> Y si sí pueden contener letras o símbolos, cómo podría saber el tamaño
> en bits que necesita cierto símbolo o letra? Esta pregunta la hago
> aunque  estoy casi seguro de que siempre un carácter alfabético
> (alfanumérico también?) o un símbolo ocupan exactamente 1 byte, es decir
> 8 bits y no tendría caso empaquetar los bits.

Como te dije eso depende de tu decisión e implementación. Lo más usado es el ASCII que son 8 bits
por carácter, pero es limitado porque no puede representar algunos símbolos pues solamente hay 256
posibles combinaciones. Para corregir eso se usaron las páginas de código, la de español es CP850,
pero también es limitado. Luego salió el Unicode, UCS y otros. En UTF puedes usar desde 8 bits hasta
32 bits por carácter, siendo su longitud variable dependiendo el carácter que quieras representar.

Saludos

Joaquín




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