C - unsigned int para conversão de matriz de caracteres não assinados
Eu tenho um número int não assinado (2 bytes) e quero convertê-lo para o tipo char não assinado. Na minha pesquisa, descubro que a maioria das pessoas recomenda fazer o seguinte:
<code> unsigned int x; ... unsigned char ch = (unsigned char)x; </code>
A abordagem correta? Eu pergunto porque o unsigned char é de 1 byte e nós passamos de dados de 2 bytes para 1 byte.
Para evitar qualquer perda de dados, desejo criar uma matriz de unsigned char [] e salvar os bytes individuais na matriz. Eu estou preso no seguinte:
<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>
Além disso,como converteríamos o unsigned char [2] de volta para unsigned int.
Muito obrigado.