C - преобразование массива без знака в массив без знака
У меня есть целое число без знака (2 байта), и я хочу преобразовать его в тип без знака. Из моего поиска я обнаружил, что большинство людей рекомендуют делать следующее:
<code> unsigned int x; ... unsigned char ch = (unsigned char)x; </code>
Правильный ли подход? Я спрашиваю, потому что unsigned char равен 1 байту, и мы преобразуем данные из 2 байтов в 1 байт.
Чтобы предотвратить потерю данных, я хочу создать массив без знака char [] и сохранить отдельные байты в массив. Я застрял в следующем:
<code> 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] ?? } </code>
Также,how would we convert the unsigned char[2] back to unsigned int.
Большое спасибо.