downtoearth 发表于 2014-4-20 04:57:36

想请教一下,为什么这个简单的高低位交换算法不行的?

uchar Exchange ( uchar Data )
{
uchar Temp ;
Temp |=( Data & 0x80 )>> 7 ;
Temp |=( Data & 0x40 )>> 5 ;
Temp |=( Data & 0x20 )>> 3 ;
Temp |=( Data & 0x10 )>> 1 ;
Temp |=( Data & 0x08 )<< 1 ;
Temp |=( Data & 0x04 )<< 3 ;
Temp |=( Data & 0x02 )<< 5 ;       
Temp |=( Data & 0x01 )<< 7 ;
return Temp ;
}

takashiki 发表于 2014-4-20 06:19:27

把第4行Temp |=( Data & 0x80 )>> 7 ;的那一竖去掉,其他的不变。uchar Temp ;的那个分号改成半角。

HadesHe 发表于 2014-4-20 08:33:00

temp初值为零

downtoearth 发表于 2014-4-20 09:37:29

HadesHe 发表于 2014-4-20 08:33
temp初值为零

Thank you This is right
页: [1]
查看完整版本: 想请教一下,为什么这个简单的高低位交换算法不行的?