Página 1 de 1

Unir 2 Variaveis formando 1

MensagemEnviado: 04 Set 2009 15:32
por buiz
Olá amigos do Asm,

Estou com uma duvida e não estou achando a solução.

Quero unir duas variaveis inteitas de 8 bits para fomar uma unica variavel, mas da seguinte forma:

Exemplo:
Código: Selecionar todos
int a = 1; // primeira variavel
int b = 2; // segunda variavel
int unica; // variavel que receberá as duas fomando uma unica

// Resultado
unica = 12;


 


Será que deu para entender, eu andei lendo sobre a função Make16(), fiz alguns testes mas ela une em HExa.

Tipo:
int a = 1;
int b = 2;
int unica;

unica = make16(a,b); // Unica = 0102

ou

int a=10;
int b=2;
int unica;

unica = make16(a,b); // Unica = 0a02

Eu queria o resultado: Unica = 102

Alguem sabe com fazer isso?

Grato,

Buiz.

MensagemEnviado: 04 Set 2009 15:37
por fabim

MensagemEnviado: 04 Set 2009 15:58
por guest2003
unica = a*10 + b;

MensagemEnviado: 04 Set 2009 17:44
por buiz
Ok, muito obrigado.

Vou tentar aqui com as informações que vocês me passaram.

Um abraço,

Buiz

MensagemEnviado: 05 Set 2009 11:27
por andre_luis
Apenas um palpite,

Posso estar enganado, mas essa função Make(.,.) do CCS está obsoleta, e por questão de compatibilidade futura, seria bom voce não a usar qunando precisar.

+++

MensagemEnviado: 06 Set 2009 17:38
por ivan
Tenta uma union:

Código: Selecionar todos
union unica (
int a;
int b;
};


Não compilei, por isso a sintaxe pode estar errada.

MensagemEnviado: 08 Set 2009 09:53
por buiz
OK, valeu pela dica da função Make(), eu ja havia descartado esta ideia mesmo.

Acebei utilizando o calculo matemático do Guets2003:

unica = a*10+b;

Simples e funcional.

Obrigado a todos e um grande abraço.