Hola a todos.
Lenguaje....................: "C"
Sistema operativo.....: Windows XP
Compilador.................: MinGW
Problema....................:Esta estructura puede tener el mismo problema que plantea rir3760 en este post.
http://foro.elhacker.net/programacion_cc/operadores_a_nivel_de_bits_lenguaje_c-t410671.0.html
Error...........................: Ninguno.
Otras Observaciones..:http://foro.elhacker.net/programacion_cc/de_minuscula_a_mayuscula_a_nivel_de_bits_en_lenguaje_c-t405856.0.html
Código.........................:
//Con uniones y campos de bit.
//Con máscaras y operaciones a nivel de bit.
Saludos y como siempre muchas gracias.
Daniel
Lenguaje....................: "C"
Sistema operativo.....: Windows XP
Compilador.................: MinGW
Problema....................:Esta estructura puede tener el mismo problema que plantea rir3760 en este post.
http://foro.elhacker.net/programacion_cc/operadores_a_nivel_de_bits_lenguaje_c-t410671.0.html
Error...........................: Ninguno.
Otras Observaciones..:http://foro.elhacker.net/programacion_cc/de_minuscula_a_mayuscula_a_nivel_de_bits_en_lenguaje_c-t405856.0.html
Código.........................:
//Con uniones y campos de bit.
Código (c) [Seleccionar]
#include <stdio.h>
union caracteres
{
unsigned char c;
struct c_bits
{
unsigned b0:1;
unsigned b1:1;
unsigned b2:1;
unsigned b3:1;
unsigned b4:1;
unsigned b5:1;
unsigned b6:1;
unsigned b7:1;
} bits;
};
int main(void){
union caracteres caracter = {110};
printf("\n\n union caracteres caracter = {110};");
printf("\n\n La variable caracter contiene la letra...: \"%c\"", caracter.c);
printf("\n\n caracter.bits.b5 = 0; //Apaga el bits 5 para que la letra 'n' se transforme en 'N'");
caracter.bits.b5 = 0;
printf("\n\n Ahora la variable caracter contiene la letra...: \"%c\"", caracter.c);
printf("\n\n");
return 0;
}
//Con máscaras y operaciones a nivel de bit.
Código (c) [Seleccionar]
#include <stdio.h>
int main(void){
char letra = 'n';
printf("\n\n char letra = 'n';");
printf("\n\n La variable letra contiene la letra...: \'%c\'", letra);
letra &=0xDF;
printf("\n\n letra &=0xDF; // 0xDF es en binario = 1101 1111 --> pones a 0 el bit 5");
printf("\n\n Ahora la variable letra contiene la letra...: \'%c\'", letra);
printf("\n\n");
return 0;
}
Saludos y como siempre muchas gracias.
Daniel