C/Visual C - leer bits de un char en c o c++

 
Vista:

leer bits de un char en c o c++

Publicado por Ivan (1 intervención) el 13/02/2001 04:09:42
JHola necesito que me expliquen como puedo leer el bit de paridad de cualquier char o int o lo que sea y luego escribirlo por ejemplo:
si c = a
1 0 0 1 0 0 0 leer 1
0 0 0 1 0 0 0 escribir 0
es solo un ejemplo no se si me hice entender pero no encuentro una funcion o una rutina para esto les agradesco de antemano muchachos

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:leer bits de un char en c o c++

Publicado por Antonio M. Estévez (11 intervenciones) el 13/02/2001 08:32:42
La siguiente función devuelve 1 si el bit está activo y 0 si no lo está:

int Paridad(Ch: char)
{
char Mask= 1 << (sizeof(Ch)-1);
if ((Ch & Mask) != 0)
return 1;
else
return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:leer bits de un char en c o c++

Publicado por Googol (255 intervenciones) el 13/02/2001 16:27:48
La función sizeof(...) da el tamaño en bytes, a si es que la obtención de la máscara no está bien.
Debería ser

char Mask = 1 << (sizeof(Ch)*8 - 1);

Si es que los bytes tienen 8 bits ... porque en el ejemplo que puso Ivan me parece que solo puso 7 bits, no sé si es que quiere obtener el valor del bit 6 (el segundo de la izquierda) , o es que se equivocó, o es que me equivoco yo.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar