Duvida [RESOLVIDO]

1. Duvida [RESOLVIDO]

Bruna Almeida
FennFelis

(usa Ubuntu)

Enviado em 15/04/2012 - 21:16h

Tenho uma duvida hard
Seguinte, tenho uma variavel uint32_t codigo;

Sabendo que codigo = 38, e que esse valor em binario é 0000 0000 0000 0000 0000 0000 0010 0110

como eu faco para saber que os primeiros 6 bits sao 10 0110 sem fazer a conversao para um vetor de char com o valor em binario
Usando somente comparações lógicas (& | bit a bit). Exemplo 2: Compara isso 1000010000100000100110 com 0bxxx1001
onde x = don't care


  


2. Re: Duvida [RESOLVIDO]

Bruno Rogério Fernandes
brunorf

(usa Arch Linux)

Enviado em 16/04/2012 - 14:03h

Você pode usar o operador &, assim:

Sabendo que
100110b = 0x0A010A

Você pode fazer:

if (codigo & 0x0A010A == 0x0A010A) {
printf("codigo termina com 0x0A010A\n");
}



3. Re: Duvida [RESOLVIDO]

Bruna Almeida
FennFelis

(usa Ubuntu)

Enviado em 16/04/2012 - 23:35h

brunorf escreveu:

Você pode usar o operador &, assim:

Sabendo que
100110b = 0x0A010A

Você pode fazer:

if (codigo & 0x0A010A == 0x0A010A) {
printf("codigo termina com 0x0A010A\n");
}


Não entendi muito bem, como você chegou a 0x0A010A? ele é um valor em hexa? como assim?


4. Re: Duvida [RESOLVIDO]

Bruno Rogério Fernandes
brunorf

(usa Arch Linux)

Enviado em 17/04/2012 - 10:05h

Exatamente. Ele é igual ao valor que você escreveu em binário.
10 = 0A
01 = 01
10 = 0A

então,
100110b = 0x0A010A


5. Re: Duvida [RESOLVIDO]

Bruna Almeida
FennFelis

(usa Ubuntu)

Enviado em 17/04/2012 - 13:39h

brunorf escreveu:

Você pode usar o operador &, assim:

Sabendo que
100110b = 0x0A010A

Você pode fazer:

if (codigo & 0x0A010A == 0x0A010A) {
printf("codigo termina com 0x0A010A\n");
}


Eu posso deslocar dos dois lados?
uint32_t teste=402663462;
0001 1000 0000 0000 0010 1000 0010 0110
se eu quissese pegar o 10 que esta em negrito, tem como eu deslocar para >> e << ao mesmo tempo?
Eu tentei e nao consegui
Veja:
uint32_t teste=402663462;
if(((teste<<26 && teste>>4) & 0b10)==0b10)







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts