Programación General > C++ Builder
Duda convertir de int a char array
(1/1)
mizzard:
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:
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;
Navegación
Ir a la versión completa