c语言中怎样将一个变量高低4位交换

c语言中怎样将一个变量高低4位交换
2024-11-30 23:42:45
推荐回答(3个)
回答(1):

/*默认是八位的数吧, short是16位的~还是用char吧*/
/*这个函数的功能是传一个8位的数进来,返回一个经过高低4位交换的数*/
char exchange(char source)
{
char up = source << 4;/*将source右移取高四位,低四位补0赋值给up,*/
char low = source >> 4;/*将source左移取低四位,高四位补0赋值给low.*/

return up + low;/*两者相加即得经过交换的数,return将其返回给调用函数*/
}

回答(2):

变量什么类型?

可以考虑一下这个
short a,b,c; /*8位整数*/
a=321;
b=a>>4;c=a<<4;
a=b+c

另回复ubendan TC中
Char是位的 Int 是16位的 short全称为short int 8位 long int 32位

回答(3):

char exchange(char souredata)
{
char up = souredata>>4; // right move 4
char low = souredata&0x0f; // left move 4

return ((low&0x0f)<<4)+(up&0x0f);
}
机器上验证OK