新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機(jī)C語言實現(xiàn)循環(huán)移位!

        單片機(jī)C語言實現(xiàn)循環(huán)移位!

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


        本文引用地址:http://www.104case.com/article/201611/319872.htm

        循環(huán)移位區(qū)別于一般移位的是移位時沒有數(shù)位的丟失。循環(huán)左移時,用從左邊移出的位填充字的右端,而循環(huán)右移時,用從右邊移出的位填充字的左側(cè)。這種情況在系統(tǒng)程序中時有使用,在一些控制程序中用得也不少。  設(shè)有數(shù)據(jù)說明:


        a=01111011,循環(huán)左移2位 正確結(jié)果: 11101101


        過程:


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


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


        a=a|b; a=11101101


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


        總長度N(8 16 32)


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


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


        C語言的位運算功能是其區(qū)別于其他大多數(shù)高級程序設(shè)計語言的特色之一,用它可以方便實現(xiàn)一些特殊功能,靈活掌握是用C程序編寫系統(tǒng)程序的基礎(chǔ)。



        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 丰台区| 隆回县| 大关县| 江油市| 穆棱市| 乌审旗| 济南市| 洛扎县| 河南省| 江门市| 济宁市| 天峨县| 内乡县| 临邑县| 东海县| 葫芦岛市| 高平市| 伊川县| 汤原县| 美姑县| 新乡县| 宁波市| 中西区| 德庆县| 古交市| 美姑县| 西乌珠穆沁旗| 武清区| 许昌县| 无极县| 姜堰市| 治多县| 吴桥县| 德化县| 沙坪坝区| 安康市| 定边县| 股票| 玉田县| 柞水县| 屏东县|