添牙帅哥,01111111左循环移位结果应是11111110,但你给的程序显示的是11111111

我也写出来了,放在这里以后也许会有人找
unchar rolmove(unsigned char a)
{
unsigned char b,c;
b=a>>7;
c=a<<1;
a=c|b;
return a;
}

展开全部
收起
3回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • S小姐

    11人对此回答表示赞同

    想怎么移动?给你几个例子,自己研究下吧。
    main()
    { unsigned char i;
    i=0xfe;
    i=i<<1;
    P0=I+1;
    }这个是一个位左移动;

    main()
    { unsigned char i;
    i=0x7F;
    i=i>>1;
    P0=I+128;
    }这个是一个位右移动;

    还可以用指针和查表来实现。
    展开
    11
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Sahil

    10人对此回答表示赞同

    用这种移位语句,就是这种结果。

    你试试:_crol_()和_cror_()移位函数。

    需要先加上头文件:
    #include<intrins.h>
    包含:
    _crol_ 字符循环左移
    _cror_ 字符循环右移
    _irol_ 整数循环左移
    _iror_ 整数循环右移
    _lrol_ 长整数循环左移
    _lror_ 长整数循环右移
    _nop_ 空操作805
    展开
    10
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 空格君

    10人对此回答表示赞同

    unsigned char rrl(unsigned char data)//左移
    {
    if(data&0x80)
    {
    data <<= 1;
    data |=0x01;
    }
    else
    {
    data<<=1;
    }
    return data;
    }

    unsig
    展开
    10
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部