У меня есть неподписанный номер int (2 байт), и я хочу преобразовать его в unsigned char type. Из моего поиска я считаю, что большинство людей рекомендуют сделать следующее:C - unsigned int to unsigned char array преобразование
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] ??
}
Кроме того, как бы мы преобразовать символ без знака [2] обратно без знака Int.
Большое спасибо.
Возможный дубликат [подписанного short by byte in C++] (http://stackoverflow.com/questi ons/10288109/signed-short-to-by-in-c) –