Re: [問題] 請問一下這五個迴圈如何化簡?
※ 引述《han999 (999就是久久久!)》之銘言:
: 我寫一個土法煉鋼的跑馬燈程式如下:
: //○不亮
: //●亮
: /* 16進制        8421 8421
:    0x81=左一右一 ●○○○ ○○○●
:    0x42=左二右二 ○●○○ ○○●○
:    0x24=左三右三 ○○●○ ○●○○
:    0x18=左四右四 ○○○● ●○○○
:    0x24=左三右三 ○○●○ ○●○○
:    0x42=左二右二 ○●○○ ○○●○
:    0x81=左一右一 ●○○○ ○○○●
: */
                   左半部     右半部
  也可以把左半部的 bit 跟右半部的 bit 分開看,
  左邊每次往右一個 bit, 右邊每次往左一個 bit.
  int left = 0x80;
  int right = 0x01;
  while (1) {
    P1OUT = left | right;
    left = (left >> 1) | ((left & 1) << 7);  // left rotate
    right = (right << 1) | (right >> 7);  // right rotate
    if (left == 0x08) continue;  // skip the duplicate case
    delay();
  }
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 221.169.204.127
※ 編輯: iamlouis        來自: 221.169.204.127      (06/30 23:58)
→
07/12 03:52, , 1F
07/12 03:52, 1F
推
07/12 13:44, , 2F
07/12 13:44, 2F
→
07/12 13:44, , 3F
07/12 13:44, 3F
討論串 (同標題文章)
ASM 近期熱門文章
PTT數位生活區 即時熱門文章