У меня есть unsigned int number (2 байта), и я хочу преобразовать его в unsigned char. Из моего поиска я считаю, что большинство людей рекомендуют делать следующее:
unsigned int x;
...
unsigned char ch = (unsigned char)x;
Правильный подход? Я спрашиваю, потому что unsigned char - 1 байт, и мы передали из двух байтовых данных в 1 байт.
Чтобы предотвратить потерю данных, я хочу создать массив unsigned char [] и сохранить отдельные байты в массиве. Я застрял в следующем:
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] ??
}
Кроме того, как мы преобразуем unsigned char [2] обратно в unsigned int.
Большое спасибо.