久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: [求助]為什么這個函數返回來的永遠是0x00 [打印本頁]

作者: lp3659    時間: 2009-11-5 16:17
標題: [求助]為什么這個函數返回來的永遠是0x00

int    yunsuan2(unsigned int i)          //低位補1函數
{
    unsigned int j=0x00;
    for(;i>1;i--)
      {

        j=j>>1+0x80;〖位運算符的優先級比+,-低,這樣很容易看出錯誤的地方了〗


      }
    return i=j;
}
/******************************************************/
int       yunsuan1(unsigned int i)            //高位補1函數
{
     unsigned int j=0x00;
     for(;i>1;i--)
     {
       j=j<<1+0x01;〖位運算符的優先級比+,-低,這樣很容易看出錯誤的地方了〗

      }
     return i=j;

}

 

 

void main(void)
{
      unsigned int j=0;
      unsigned int i;
      while(1)
      {

 

       P0=0xff;

       for(j=1;j<=4;j++)
           {
              i=j;
              P0=(P0<<(j)+yunsuan1(i));//P0左移j個位,低位補1〖位運算符的優先級比+,-低,這樣很容易看出錯誤的地方了〗
              Delay(500);
              P0=(P0>>(j)+yunsuan2(i));//p0右移j個位,高位補1〖位運算符的優先級比+,-低,這樣很容易看出錯誤的地方了〗

              Delay(500);
            }
       }

 

 }

程序的目的是要依次得到(0代表亮燈)

1111 1110

0111 1111

1111 1101

1011 1111

1111 1011

1101 1111

1111 0111

1110 1111

但下載到單片機里后出現燈亮的順序是這樣的

1111 1110

0111 1111

1111 1100

0011 1111

1111 1000

0001 1111

1111 0000

0000 1111

為什么會這樣。。?

原來是運算符的優先級搞錯了。

給一起學習的同學做個反面榜樣吧。

[此貼子已經被作者于2009-11-5 18:44:52編輯過]

作者: 校園踢踏舞    時間: 2009-11-6 11:17

加個()就可以解決問題了。

如:j=(j>>1)+0x80






歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日日夜夜天天 | 天天综合av| 亚洲欧美视频在线观看 | 在线观看免费黄色 | 精品欧美一区二区三区久久久 | 国产高清一区二区 | 男人天堂网av | 99热99re6国产在线播放 | av噜噜| 九九色| 久久久一级片 | 久久天天干 | 一区二区三区黄色 | 亚洲精品久久久久久久久久久 | 国产精品视频免费看 | 国产一级片免费看 | 日日爱视频 | 黄色小说在线免费观看 | 国产成人在线免费视频 | 成人精品国产 | 91亚洲国产成人久久精品麻豆 | 成人小视频在线观看 | 中文字幕在线看片 | 免费黄色小说网站 | 日韩精品久久久久久免费 | 亚洲在线观看视频 | 国产三级久久 | 久久久天堂 | 国产黄色片视频 | 日韩成人精品 | 国产日本在线观看 | 日本中文字幕在线播放 | 性一交一乱一伧老太 | 国产日韩一区二区三区 | 日韩免费在线观看视频 | www.日韩| av在线播放网站 | 久久精品2 | 一区二区美女 | 黄色a网站| 老司机午夜视频 |