我想转换一个 unsigned int 并将其分成 2 个字符。例如:如果整数是 1,它的二进制表示将是 0000 0001。我想要一个 char 变量中的 0000 部分和另一个二进制变量中的 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;
如果总共有 8 位(一个字节)并且将其分解为两个 4 位值:
unsigned char x=2;// or whatever
unsigned char high = (x>>4);
unsigned char low = x & 0xf;
关于c - 如何在 C 中将 2 字节整数转换并分解为 2 个不同的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14950366/