Tengo un número int sin firmar (2 bytes) y deseo convertirlo a unsigned char type. De mi búsqueda, me parece que la mayoría de las personas recomiendan hacer lo siguiente:C - unsigned int a unsigned char array conversion
unsigned int x;
...
unsigned char ch = (unsigned char)x;
¿Es el enfoque correcto? Lo pregunto porque el carácter sin signo es de 1 byte y hemos convertido datos de 2 bytes en 1 byte.
Para evitar la pérdida de datos, quiero crear una matriz de caracteres sin signo [] y guardar los bytes individuales en la matriz. Estoy atascado en la siguiente:
unsigned char ch[2];
unsigned int num = 272;
for(i=0; i<2; i++){
// how should the individual bytes from num be saved in ch[0] and ch[1] ??
}
Además, ¿Cómo podemos convertir el unsigned char [2] de nuevo a unsigned int.
Muchas gracias.
posible duplicado de [firmado corto a byte en C++] (http://stackoverflow.com/questi ons/10288109/signed-short-to-byte-in-c) –