• Viernes 8 de Noviembre de 2024, 15:36

Autor Tema:  Duda convertir de int a char array  (Leído 2137 veces)

mizzard

  • Nuevo Miembro
  • *
  • Mensajes: 22
    • Ver Perfil
Duda convertir de int a char array
« en: Sábado 16 de Abril de 2011, 20:26 »
0
Hola a todos, os pongo en situación:

Resulta que quiero pasar un int a un array de char para enviar por una trama, me explico:

Si el int <256

michar[0]=0x00;
michar[1]= (char)miint;

ahora viene el problema, cuando el int>=256, ya que me gustaria hacer lo siguiente:

si por ejemplo tengo que el int es 256, sabemos que en hexadecimal es 0x0100, por lo que yo quiero poner:

michar[0]=0x01; parte alta
michar[1]=0x00; parte baja

Veo que es algo sencillo pero no me aclaro, me podeis echar una ayudita?

Muchas gracias!

mizzard

  • Nuevo Miembro
  • *
  • Mensajes: 22
    • Ver Perfil
Re: Duda convertir de int a char array
« Respuesta #1 en: Domingo 17 de Abril de 2011, 11:23 »
0
Jeje, ya lo he resuelto, expongo mis conclusiones:

PARA PASAR DE unsigned short int a unsigned char[2]
-------------------------------------------------

if (miint< 256){
michar[i++] = 0;
michar[i++] = miint;
}
else {
michar[i++] = miint >> 8;
michar[i++] = miint & 0xFF;
}

PARA PASAR DE unsigned char[2] unsigned a short int
-------------------------------------------------

miint |= michar[0] & 0xFF;
miint <<= 8;
miint |= michar[1] & 0xFF;