看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《jayemshow (S.Kazumi)》之銘言:
jayemshow:太感謝樓上的大大了,現在馬上來試試看 !! 10/03 19:44
jayemshow:可否請大大告知為什麼我的 m l 設在迴圈外會死掉嗎 ? 10/03 19:55
jayemshow:我想說照著 j 和 k 一樣定義應該是沒問題的 10/03 19:56
不知道你有沒有寫過組語的版本, 不過我那時候學的時候老師有特別提 C 的左移和右移運算子是在空出來的位元補零 這是和 LL 與 RL 相當, 而不是像 LLC 跟 RLC 的作用 (我組語很久沒碰了可能有寫錯) 也就是說, 假設整數是八位元, 左移狀況會像這樣 a = 0x01; // ○○○○○○○● a <<= 1; // ○○○○○○●○ a <<= 1; // ○○○○○●○○ a <<= 1; // ○○○○●○○○ a <<= 1; // ○○○●○○○○ a <<= 1; // ○○●○○○○○ a <<= 1; // ○●○○○○○○ a <<= 1; // ●○○○○○○○ a <<= 1; // ○○○○○○○○ 移到範圍外了 a <<= 1; // ○○○○○○○○ 所以這邊之後都不會有東西 所以你的燈跑一輪之後就會掛掉 必須要在最後一次左/右移後把值設回來 -- 「我最想要的同伴嘛,首先是要笑口常開,其次是我們能永遠不會發生誤會。 如果這些都能辦到的話,嗯,如果他是世界上第一流的橋手,也還不錯。」 -- 班尼多‧加羅素,前義大利藍隊成員 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.81.146 ※ 編輯: uranusjr 來自: 114.32.81.146 (10/03 22:09)
CaptainH:好像寫反了, 我記得RR/RL會 "轉回來" 10/03 22:26
jayemshow:感謝大大的解析,這樣我了解了 10/04 11:55