我想转换unsigned int并将其分成2个字符.例如:如果整数为1,则其二进制表示形式为0000 0001.我希望0000部分在一个char变量中,0001部分在另一个二进制变量中.我如何在C中实现这一目标?
如果你坚持认为你有一个sizeof(int)==2:
unsigned int x = (unsigned int)2; //or any other value it happens to be
unsigned char high = (unsigned char)(x>>8);
unsigned char low = x & 0xff;
Run Code Online (Sandbox Code Playgroud)
如果总共有8位(一个字节),则将其分成两个4位值:
unsigned char x=2;// or whatever
unsigned char high = (x>>4);
unsigned char low = x & 0xf;
Run Code Online (Sandbox Code Playgroud)