我想转换一个 unsigned int 并将其分成 2 个字符。例如:如果整数为 1,则其二进制表示形式为 0000 0001。我希望 0000 部分位于一个 char 变量中,0001 部分位于另一个二进制变量中。我如何在 C 中实现这一点?
如果你坚持认为你有一个sizeof(int)==2
then:
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;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)