Moderadores: 51, guest2003, Renie, gpenga
unsigned long int bdata dado;
sbit dado_bit31 = dado^31;
unsigned char matriz[8];
bit = ((matriz[y] & (1<<x)) >> x);
unsigned char matriz[8][2];
index_byte = (index_bit / 8);
index_real_bit = (index_bit % 8);
BOOL p_get_bit_matriz (U8 *u8_matriz, U8 u8_x, U8 u8_y)
{
swicth (u8_x)
{
case 0: return u8_matriz[u8_y].bit_0;
case 1: return u8_matriz[u8_y].bit_1;
case 2: return u8_matriz[u8_y].bit_2;
case 3: return u8_matriz[u8_y].bit_3;
case 4: return u8_matriz[u8_y].bit_4;
case 5: return u8_matriz[u8_y].bit_5;
case 6: return u8_matriz[u8_y].bit_6;
case 7: return u8_matriz[u8_y].bit_7;
}
}
Djalma Toledo Rodrigues escreveu:Barbosade minha parte - Obrigado
Do restante estou "embasbacado" ( ki palavra rsrs) . Como sabe de C.
Parabens.
#define SET_BIT(matriz,x,y) ( matriz[y] |= (1<<x))
#define GET_BIT(matriz,x,y) ((matriz[y] & (1<<x)) >> x)
#define CLEAR_BIT(matriz,x,y) ( matriz[y] = (matriz[y] & ~(00000000 | (1<<x))) >> x)
int main()
{
unsigned char teste[8]; //gera uma matriz de bits de 8x8
SET_BIT(teste,5,3); //Seta bit posi 5x3
if (GET_BIT(teste,5,3)) //Pega o valor do bit posi 5x3
{
CLEAR_BIT(teste,5,3); //Limpa o valor do bit posi 5x3
}
}
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante