C - konwersja niepodpisanej int na tablicę bez znaku
Mam niepodpisany numer int (2 bajty) i chcę go przekonwertować na niepodpisany typ char. Z mojego wyszukiwania wynika, że większość ludzi zaleca wykonanie następujących czynności:
unsigned int x;
...
unsigned char ch = (unsigned char)x;
Czy właściwe podejście? Pytam, ponieważ unsigned char ma 1 bajt i rzuciliśmy z 2 bajtów danych na 1 bajt.
Aby zapobiec utracie danych, chcę utworzyć tablicę unsigned char [] i zapisać poszczególne bajty w tablicy. Utknąłem w następujących sytuacjach:
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] ??
}
Również,jak przekonwertowalibyśmy unsigned char [2] na unsigned int.
Wielkie dzięki.