Estou com duvidas neste exercicio ja pensei e pensei e não consigo chegar a resposta.
O Exercicio é o seguinte:
Escreva a função findsaw que procura, no inteiro value, a mais longa sequência de bits consecutivos com valores alternados. A função retorna apenas o índice do primeiro bit dessa sequência, sendo 0 o índice do bit de menor peso. No caso de haver mais do que uma resposta possível, deve ser retornada a que corresponder ao menor índice. Por exemplo, a chamada findsaw(0xEAEA476B) deve retornar 23.
unsigned int findsaw(int value);
OBS: eu fiz algumas coisas so que não estou a conseguir encontrar a "máscara" necessária para resolver o problema
Abaixo Segue o que eu consegui fazer.
[code]
#include <stdio.h>
unsigned int findsaw(int value);
int main(){
printf("%d\n", findsaw(0x6));
return 0;
}
unsigned int findsaw(int value){
int count;
int bigger;
Pergunta
Diogo Fonseca
Ola pessoal, primeiro brigado a quem responder.
Estou com duvidas neste exercicio ja pensei e pensei e não consigo chegar a resposta.
O Exercicio é o seguinte:
Escreva a função findsaw que procura, no inteiro value, a mais longa sequência de bits consecutivos com valores alternados. A função retorna apenas o índice do primeiro bit dessa sequência, sendo 0 o índice do bit de menor peso. No caso de haver mais do que uma resposta possível, deve ser retornada a que corresponder ao menor índice. Por exemplo, a chamada findsaw(0xEAEA476B) deve retornar 23.
unsigned int findsaw(int value);
OBS: eu fiz algumas coisas so que não estou a conseguir encontrar a "máscara" necessária para resolver o problema
Abaixo Segue o que eu consegui fazer.
[code]
#include <stdio.h>
unsigned int findsaw(int value);
int main(){
printf("%d\n", findsaw(0x6));
return 0;
}
unsigned int findsaw(int value){
int count;
int bigger;
for(count = 0; value != 0; value >>= 1){
if((value & 01) || (value & 010))
count++;
else if((value & 00) || (value & 011)){
if(count > bigger)
bigger = count;
count = 0;
}
bigger = count;
}
return bigger;
}
[/code]
Ups sou novo neste forum e não consegui por o codigo bem desculpem pensava que tinha de usar
mas não deu
Penso que dá para entender de qualquer forma
Obrigado desde já :)
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.