求将一个8位二进制数据逆序输出

2020-01-25 15:25发布

P2口接显示器件,布线需要要P2=01110000 ,处理后应为 P2=00001110,这种应如何操作
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
20条回答
jswd0810
1楼-- · 2020-01-26 07:42
>>3 如何?
lmt50211
2楼-- · 2020-01-26 09:53
unsigned char un_byte(unsigned char r_date)
{//IO口数据线反向,故需把数据反向
    unsigned char i,r_temp0 = 0,r_temp1 = 0;
    for(i = 0;i < 8;i++)
    {
        r_temp0 = (r_date >> i) & 0x01;
        r_temp1 |= (r_temp0 << (7 - i));
    }
    return r_temp1;
}
RAMILE
3楼-- · 2020-01-26 14:26
查ROM表快
无级电工
4楼-- · 2020-01-26 19:58
移位,很好解决嘛。
wshtyr
5楼-- · 2020-01-27 00:59
 精彩回答 2  元偷偷看……
zouzhichao
6楼-- · 2020-01-27 05:15
var = (var << 4) | (var >> 4);
var = ((var & 0b00110011) << 2) | ((var & 0b11001100) >> 2);
var = ((var & 0b01010101) << 1) | ((var & 0b10101010) >> 1);
第一次0123与4567交换
第二次01与23交换,45与78交换
第二次0与1交换,2与3交换,4与5交换,6与7交换
倒过来也行

一周热门 更多>