Jump to content
david.inacio

[Resolvido] Vector: concatenar ou aceder para comparar, como?

Recommended Posts

david.inacio

Imaginando que temos algo deste tipo 

int somatorio[4] ={0,0,0,0};  

que pode ter todos os valores em binário desde 0000 até 1111. Em determinado momento é preciso comparar esse conteúdo com valores predefinidos, nomeadamente numeros tipo 1111 ou 1011

que representam acções distintas num switch case. 

Há alguma forma de fazer essa comparação? Ou é preciso converter o array para string? 

Andei a pesquisar e para numeros de base 10 existem algumas técnicas... Será que é possível adaptar algo desse tipo?

Obrigado pela vossa atenção...

Edited by david.inacio

David Inácio

Share this post


Link to post
Share on other sites
david.inacio

Posso e agradeço a tua atenção.

Estou a fazer um programa em Code Composer Texas, para o TIVA, para controlo de velocidade de uma máquina DC. 

Imagina que tens 4 variaveis de entrada  (neste caso só pode ser zero ou um), a serem escritas num vector de 4 posições. 

 

Depois eu preciso de comparar esse valor {0,0,0,0} ou {0,0,1,1} ou {0,1,0,1} com valores pré-definidos, ou seja, como 0000, 0011 ou 0101, ou qualquer valor de 0000 até 1111 (em binário).

seria algo do tipo, se funcionasse

if (somatório==0001 | somatorio ==0010 | somatorio ==0100) 
{
  maquinaDC=25;
}
if (somatório==0011 | somatorio ==0110 | somatorio ==0110) 
{
  maquinaDC=50;
}

Mas isto não funciona...


David Inácio

Share this post


Link to post
Share on other sites
HappyHippyHippo

podes recriar o número binário que existe no vector e fazer a comparação normal

int valor = 0;
for (int i = 0; i < 4; ++i)
  valor = valor << 1 + vector[i];

 

  • Vote 1

IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
david.inacio

 Muito obrigado. Acho que resolve bem o meu problema. 

Perfeito.

Mais uma vez. Obrigado.


David Inácio

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.