求大lao们问个简单的c语言问题,想半天想不出来哇

求问!?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;
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632