相关疑难解决方法(0)

C - unsigned int to unsigned char array conversion

我有一个无符号的int数(2字节),我想将其转换为unsigned char类型.从我的搜索中,我发现大多数人建议您执行以下操作:

 unsigned int x;
 ...
 unsigned char ch = (unsigned char)x;
Run Code Online (Sandbox Code Playgroud)

是正确的方法吗?我问,因为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] ??
 }
Run Code Online (Sandbox Code Playgroud)

另外,我们如何将unsigned char [2]转换回unsigned int.

非常感谢.

c byte type-conversion unsigned-char unsigned-integer

16
推荐指数
4
解决办法
7万
查看次数