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