久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機C語言實現循環移位!

單片機C語言實現循環移位!

作者: 時間:2016-11-22 來源:網絡 收藏
大家知道,大家用MCU寫程序的時候,只有移位的語句,沒有循環移位的語句。那么如何實現循環移位呢,詳見下述:


本文引用地址:http://cqxgywz.com/article/201611/319872.htm

循環移位區別于一般移位的是移位時沒有數位的丟失。循環左移時,用從左邊移出的位填充字的右端,而循環右移時,用從右邊移出的位填充字的左側。這種情況在系統程序中時有使用,在一些控制程序中用得也不少。  設有數據說明:


a=01111011,循環左移2位 正確結果: 11101101


過程:


b=a>>(8-2) 用來得到正常左移丟失的位和循環移位后其正確位置 b=00000001;


a=a<<2;左移 a=11101100


a=a|b; a=11101101


如果不是用中間變量 a=(a>>(8-2))|(a<<2)


總長度N(8 16 32)


循環左移n: (a>>(N-n))|(a>>n)


循環右移n: (a<<(N-n))|(a>>n)


C語言的位運算功能是其區別于其他大多數高級程序設計語言的特色之一,用它可以方便實現一些特殊功能,靈活掌握是用C程序編寫系統程序的基礎。



評論


技術專區

關閉