求问!?short a,变量a所占内存单元最高4位和最低4位交换的语句_?
例如:a=255; //0000 0000 1111 1111
一顿操作后变成a=61680 //1111 0000 1111 0000
用左右位移吧
而且你这有问题,a是short型,最大值是32767,不会是61680的,这是负数了
改用 unsigned short实现
#include <stdio.h>
int main()
{
unsigned short a = 255;
unsigned short k = a & 0xF000;
k = k>>12;
unsigned short t = a & 0x000F;
t = t<<12;
a=a&0x0FF0;
a = a|k;
a = a|t;
printf("%d",a);
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!