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