在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機c語言教程:運算符和表達式(位運算符)

            單片機c語言教程:運算符和表達式(位運算符)

            作者: 時間:2012-09-12 來源:網(wǎng)絡(luò) 收藏

            學(xué)過匯編的朋友都知道匯編對位的處理能力是很強的,但是C也能對對象進行按位操作,從而使C也能具有一定的對硬件直接進行操作的能力。位符的作用是按位對變量進行,但是并不改變參與運算的變量的值。如果要求按位改變變量的值,則要利用相應(yīng)的賦值運算。還有就是位運算符是不能用來對浮點型數(shù)據(jù)進行操作的。c中共有6種位運算符。位運算一般的表達形式如下:

            本文引用地址:http://www.biyoush.com/article/170886.htm

            變量 1 位運算符 變量 2 位運算符也有優(yōu)先級,從高到低依次是:“~”(按位取反)→“”(左移) →“>>”(右

            移) →“”(按位與)→“^”(按位異或)→“|”(按位或)

            表 8-1 是位邏輯運算符的真值表,X 表示變量 1,Y 表示變量 2

            X

            Y

            ~X

            ~Y

            XY

            X|Y

            X^Y

            0

            0

            1

            1

            0

            0

            0

            0

            1

            1

            0

            0

            1

            1

            1

            0

            0

            1

            0

            1

            1

            1

            1

            0

            0

            1

            1

            0

            表 8-1 按位取反,與,或和異或的邏輯真值表

            利用以前建立起來的實驗板,我們來做個實驗驗證一下位運算是否真是不改變參與變量 的值,同時學(xué)習(xí)位運算的表達形式。程序很簡單,用 P1 口做運算變量,P1.0-P1.7 對應(yīng) P1 變量的最低位到最高位,通過連接在 P1 口上的 LED 我們便能直觀看到每個位運算后變量 是否有改變或如何改變。程序如下:

            #include at89x51.h>

            void main(void)

            {

            unsigned int a;

            unsigned int b;

            unsigned char temp; //臨時變量

            P1 = 0xAA; //點亮 D1,D3,D5,D7 P1 口的二進制為 10101010,為 0 時點亮 LED

            for (a=0;a1000;a++)

            for (b=0;b1000;b++); //延時

            temp = P1 0x7; //單純的寫 P1|0x7 是沒有意義的,因為沒有變量被影響,不會被編譯

            //執(zhí)行 P1|0x7 后結(jié)果存入temp,這個時候改變的是 temp,但 P1 不會被影響。

            //這個時候 LED 沒有變化,仍然是 D1,D3,D5,D7 亮

            for (a=0;a1000;a++)

            for (b=0;b1000;b++); //延時 P1 = 0xFF; //熄滅 LED

            for (a=0;a1000;a++)

            for (b=0;b1000;b++); //延時

            P1 = 0xAA; //點亮 D1,D3,D5,D7 P1 口的二進制為 10101010,為 0 時點亮 LED

            for (a=0;a1000;a++)

            for (b=0;b1000;b++); //延時

            c語言相關(guān)文章:c語言教程



            上一頁 1 2 下一頁

            關(guān)鍵詞: 運算 表達式 教程 語言 單片機

            評論


            相關(guān)推薦

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

            關(guān)閉