a nivel de bits
Publicado por Franco Cedillo (2 intervenciones) el 23/09/2005 13:00:22
Hola amigos,
Deseo almacenar 8 caracteres en una variable. Así con los ASCII de 8 bits los concatenaría.
Si tomara del input los caracteres haría lo siguiente
while ( (c=getchar()) != EOLN )
{
masc=( (c-'A'+1)<<8*cont_clave);
clave|=masc;
cont_clave++;
}
he declarado a masc del tipo long al igual que clave. aquí también tengo otra duda pues necesito un tipo de dato que esté compuesto de 8 X 8 bits... un entero de 64 bits...
cont_clave se inicia en 0 y al salir del bucle tendré el número de caractéres leídos
int saca_car_clave(long clave,int cont_clave)
{
return ( 0xFF && ( clave>>(cont_clave*8) ) );
}
pensaba que enviando en int_clave el número de caracter que yo requiero ( del 0 al 7 )
podría obtener del clave los bits ya dentro de un int sencillo o tal vez en un char.
Pero el programa tiene resultados inesperados. Pues la función devuelve 1 o 0... Oh... acabo de ver que uso && en vez de &... corregiré eso...
saludos.
Deseo almacenar 8 caracteres en una variable. Así con los ASCII de 8 bits los concatenaría.
Si tomara del input los caracteres haría lo siguiente
while ( (c=getchar()) != EOLN )
{
masc=( (c-'A'+1)<<8*cont_clave);
clave|=masc;
cont_clave++;
}
he declarado a masc del tipo long al igual que clave. aquí también tengo otra duda pues necesito un tipo de dato que esté compuesto de 8 X 8 bits... un entero de 64 bits...
cont_clave se inicia en 0 y al salir del bucle tendré el número de caractéres leídos
int saca_car_clave(long clave,int cont_clave)
{
return ( 0xFF && ( clave>>(cont_clave*8) ) );
}
pensaba que enviando en int_clave el número de caracter que yo requiero ( del 0 al 7 )
podría obtener del clave los bits ya dentro de un int sencillo o tal vez en un char.
Pero el programa tiene resultados inesperados. Pues la función devuelve 1 o 0... Oh... acabo de ver que uso && en vez de &... corregiré eso...
saludos.
Valora esta pregunta


0