亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 12.txt

?? 多數(shù)情況下
?? TXT
字號(hào):
12	位運(yùn)算	1
12.1	位運(yùn)算符C語(yǔ)言提供了六種位運(yùn)算符:	1
12.1.1	按位與運(yùn)算	1
12.1.2	按位或運(yùn)算	2
12.1.3	按位異或運(yùn)算	2
12.1.4	求反運(yùn)算	3
12.1.5	左移運(yùn)算	3
12.1.6	右移運(yùn)算	3
12.2	位域(位段)	4
12.3	本章小結(jié)	6
12	位運(yùn)算
前面介紹的各種運(yùn)算都是以字節(jié)作為最基本位進(jìn)行的。 但在很多系統(tǒng)程序中常要求在位(bit)一級(jí)進(jìn)行運(yùn)算或處理。C語(yǔ)言提供了位運(yùn)算的功能,這使得C語(yǔ)言也能像匯編語(yǔ)言一樣用來(lái)編寫系統(tǒng)程序。
12.1	位運(yùn)算符C語(yǔ)言提供了六種位運(yùn)算符:
    &          按位與
    |          按位或
    ^          按位異或
    ~          取反
    <<         左移
    >>         右移
12.1.1	按位與運(yùn)算
    按位與運(yùn)算符"&"是雙目運(yùn)算符。其功能是參與運(yùn)算的兩數(shù)各對(duì)應(yīng)的二進(jìn)位相與。只有對(duì)應(yīng)的兩個(gè)二進(jìn)位均為1時(shí),結(jié)果位才為1,否則為0。參與運(yùn)算的數(shù)以補(bǔ)碼方式出現(xiàn)。
例如:9&5可寫算式如下:
      00001001        (9的二進(jìn)制補(bǔ)碼)
     &00000101        (5的二進(jìn)制補(bǔ)碼)
      00000001        (1的二進(jìn)制補(bǔ)碼)
可見9&5=1。
按位與運(yùn)算通常用來(lái)對(duì)某些位清0或保留某些位。例如把a(bǔ) 的高八位清 0 ,保留低八位,可作a&255運(yùn)算( 255 的二進(jìn)制數(shù)為0000000011111111)。
【例12.1】
main(){
    int a=9,b=5,c;
    c=a&b;
    printf("a=%d\nb=%d\nc=%d\n",a,b,c);
}
 
12.1.2	按位或運(yùn)算
按位或運(yùn)算符“|”是雙目運(yùn)算符。其功能是參與運(yùn)算的兩數(shù)各對(duì)應(yīng)的二進(jìn)位相或。只要對(duì)應(yīng)的二個(gè)二進(jìn)位有一個(gè)為1時(shí),結(jié)果位就為1。參與運(yùn)算的兩個(gè)數(shù)均以補(bǔ)碼出現(xiàn)。
例如:9|5可寫算式如下:
    00001001
   |00000101
    00001101        (十進(jìn)制為13)可見9|5=13
【例12.2】
main(){
    int a=9,b=5,c;
    c=a|b;
    printf("a=%d\nb=%d\nc=%d\n",a,b,c);
}
 
12.1.3	按位異或運(yùn)算
   按位異或運(yùn)算符“^”是雙目運(yùn)算符。其功能是參與運(yùn)算的兩數(shù)各對(duì)應(yīng)的二進(jìn)位相異或,當(dāng)兩對(duì)應(yīng)的二進(jìn)位相異時(shí),結(jié)果為1。參與運(yùn)算數(shù)仍以補(bǔ)碼出現(xiàn),例如9^5可寫成算式如下:
     00001001
    ^00000101  
     00001100       (十進(jìn)制為12)
【例12.3】
main(){
    int a=9;
    a=a^5;
    printf("a=%d\n",a);
}
 
12.1.4	求反運(yùn)算
求反運(yùn)算符~為單目運(yùn)算符,具有右結(jié)合性。其功能是對(duì)參與運(yùn)算的數(shù)的各二進(jìn)位按位求反。
例如~9的運(yùn)算為:
    ~(0000000000001001)結(jié)果為:1111111111110110
12.1.5	左移運(yùn)算
左移運(yùn)算符“<<”是雙目運(yùn)算符。其功能把“<< ”左邊的運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由“<<”右邊的數(shù)指定移動(dòng)的位數(shù),高位丟棄,低位補(bǔ)0。
例如:
    a<<4
指把a(bǔ)的各二進(jìn)位向左移動(dòng)4位。如a=00000011(十進(jìn)制3),左移4位后為00110000(十進(jìn)制48)。
12.1.6	右移運(yùn)算
   右移運(yùn)算符“>>”是雙目運(yùn)算符。其功能是把“>> ”左邊的運(yùn)算數(shù)的各二進(jìn)位全部右移若干位,“>>”右邊的數(shù)指定移動(dòng)的位數(shù)。
例如:
設(shè)  a=15,
a>>2
表示把000001111右移為00000011(十進(jìn)制3)。
應(yīng)該說明的是,對(duì)于有符號(hào)數(shù),在右移時(shí),符號(hào)位將隨同移動(dòng)。當(dāng)為正數(shù)時(shí),最高位補(bǔ)0,而為負(fù)數(shù)時(shí),符號(hào)位為1,最高位是補(bǔ)0或是補(bǔ)1 取決于編譯系統(tǒng)的規(guī)定。Turbo C和很多系統(tǒng)規(guī)定為補(bǔ)1。
【例12.4】
main(){
    unsigned a,b;
    printf("input a number:   ");
    scanf("%d",&a);
    b=a>>5;
    b=b&15;
    printf("a=%d\tb=%d\n",a,b);
}
 
請(qǐng)?jiān)倏匆焕?
【例12.5】
main(){
    char a='a',b='b';
    int p,c,d;
    p=a;
    p=(p<<8)|b;
    d=p&0xff;
    c=(p&0xff00)>>8;
    printf("a=%d\nb=%d\nc=%d\nd=%d\n",a,b,c,d);
}
 
12.2	位域(位段)
有些信息在存儲(chǔ)時(shí),并不需要占用一個(gè)完整的字節(jié),而只需占幾個(gè)或一個(gè)二進(jìn)制位。例如在存放一個(gè)開關(guān)量時(shí),只有0和1兩種狀態(tài),用一位二進(jìn)位即可。為了節(jié)省存儲(chǔ)空間,并使處理簡(jiǎn)便,C語(yǔ)言又提供了一種數(shù)據(jù)結(jié)構(gòu),稱為“位域”或“位段”。
所謂“位域”是把一個(gè)字節(jié)中的二進(jìn)位劃分為幾個(gè)不同的區(qū)域,并說明每個(gè)區(qū)域的位數(shù)。每個(gè)域有一個(gè)域名,允許在程序中按域名進(jìn)行操作。這樣就可以把幾個(gè)不同的對(duì)象用一個(gè)字節(jié)的二進(jìn)制位域來(lái)表示。
1.	位域的定義和位域變量的說明
位域定義與結(jié)構(gòu)定義相仿,其形式為:
    struct 位域結(jié)構(gòu)名
       { 位域列表 };
其中位域列表的形式為:
    類型說明符 位域名:位域長(zhǎng)度  
例如:
    struct bs
     {
       int a:8;
       int b:2;
       int c:6;
     };
位域變量的說明與結(jié)構(gòu)變量說明的方式相同。 可采用先定義后說明,同時(shí)定義說明或者直接說明這三種方式。
例如:
    struct bs
     {
       int a:8;
       int b:2;
       int c:6;
     }data;
說明data為bs變量,共占兩個(gè)字節(jié)。其中位域a占8位,位域b占2位,位域c占6位。
對(duì)于位域的定義尚有以下幾點(diǎn)說明:
1)	一個(gè)位域必須存儲(chǔ)在同一個(gè)字節(jié)中,不能跨兩個(gè)字節(jié)。如一個(gè)字節(jié)所剩空間不夠存放另一位域時(shí),應(yīng)從下一單元起存放該位域。也可以有意使某位域從下一單元開始。
例如:
struct bs
     {
       unsigned a:4
       unsigned :0        /*空域*/
       unsigned b:4       /*從下一單元開始存放*/
       unsigned c:4
     }
    在這個(gè)位域定義中,a占第一字節(jié)的4位,后4位填0表示不使用,b從第二字節(jié)開始,占用4位,c占用4位。
2)	由于位域不允許跨兩個(gè)字節(jié),因此位域的長(zhǎng)度不能大于一個(gè)字節(jié)的長(zhǎng)度,也就是說不能超過8位二進(jìn)位。
3)	位域可以無(wú)位域名,這時(shí)它只用來(lái)作填充或調(diào)整位置。無(wú)名的位域是不能使用的。例如:
    struct k
     {
      int a:1
      int  :2          /*該2位不能使用*/
      int b:3
      int c:2
     };
從以上分析可以看出,位域在本質(zhì)上就是一種結(jié)構(gòu)類型,不過其成員是按二進(jìn)位分配的。
2.	位域的使用
位域的使用和結(jié)構(gòu)成員的使用相同,其一般形式為:
  位域變量名?位域名
  位域允許用各種格式輸出。
【例12.6】
main(){
    struct bs
    {
      unsigned a:1;
      unsigned b:3;
      unsigned c:4;
    } bit,*pbit;
    bit.a=1;
    bit.b=7;
    bit.c=15;
    printf("%d,%d,%d\n",bit.a,bit.b,bit.c);
    pbit=&bit;
    pbit->a=0;
    pbit->b&=3;
    pbit->c|=1;
    printf("%d,%d,%d\n",pbit->a,pbit->b,pbit->c);
}
 
上例程序中定義了位域結(jié)構(gòu)bs,三個(gè)位域?yàn)閍,b,c。說明了bs類型的變量bit和指向bs類型的指針變量pbit。這表示位域也是可以使用指針的。程序的9、10、11三行分別給三個(gè)位域賦值(應(yīng)注意賦值不能超過該位域的允許范圍)。程序第12行以整型量格式輸出三個(gè)域的內(nèi)容。第13行把位域變量bit的地址送給指針變量pbit。第14行用指針方式給位域a重新賦值,賦為0。第15行使用了復(fù)合的位運(yùn)算符"&=",該行相當(dāng)于:
    pbit->b=pbit->b&3
位域b中原有值為7,與3作按位與運(yùn)算的結(jié)果為3(111&011=011,十進(jìn)制值為3)。同樣,程序第16行中使用了復(fù)合位運(yùn)算符"|=",相當(dāng)于:
pbit->c=pbit->c|1
其結(jié)果為15。程序第17行用指針方式輸出了這三個(gè)域的值。
12.3	本章小結(jié)
1.	位運(yùn)算是C語(yǔ)言的一種特殊運(yùn)算功能, 它是以二進(jìn)制位為單位進(jìn)行運(yùn)算的。位運(yùn)算符只有邏輯運(yùn)算和移位運(yùn)算兩類。位運(yùn)算符可以與賦值符一起組成復(fù)合賦值符。如&=,|=,^=,>>=,<<=等。
2.	利用位運(yùn)算可以完成匯編語(yǔ)言的某些功能,如置位,位清零,移位等。還可進(jìn)行數(shù)據(jù)的壓縮存儲(chǔ)和并行運(yùn)算。
3.	位域在本質(zhì)上也是結(jié)構(gòu)類型,不過它的成員按二進(jìn)制位分配內(nèi)存。其定義、說明及使用的方式都與結(jié)構(gòu)相同。
4.	位域提供了一種手段,使得可在高級(jí)語(yǔ)言中實(shí)現(xiàn)數(shù)據(jù)的壓縮,節(jié)省了存儲(chǔ)空間,同時(shí)也提高了程序的效率。

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩在线亚洲一区蜜芽| 国产精品一卡二卡在线观看| 91片在线免费观看| 国产亚洲精品7777| av激情成人网| 一区二区三区在线不卡| 欧美色涩在线第一页| 丝袜亚洲另类丝袜在线| 日韩欧美在线不卡| 高清beeg欧美| 亚洲精品国久久99热| 欧美精品一二三四| 国产资源在线一区| 亚洲三级在线免费观看| 欧美精品自拍偷拍| 黑人精品欧美一区二区蜜桃| 国产精品乱人伦一区二区| 色综合久久久久| 青青草国产成人av片免费| 久久日一线二线三线suv| www.亚洲激情.com| 午夜不卡av在线| 久久亚洲一区二区三区四区| 成人av免费观看| 丝瓜av网站精品一区二区| 欧美精品一区二区三区一线天视频| 丰满少妇在线播放bd日韩电影| 亚洲欧美激情在线| 欧美大白屁股肥臀xxxxxx| 福利91精品一区二区三区| 亚洲成人一区二区在线观看| 精品久久国产老人久久综合| 91亚洲国产成人精品一区二三| 午夜伊人狠狠久久| 国产欧美综合色| 欧美色偷偷大香| 成人性色生活片| 免费人成在线不卡| 亚洲视频一二三| 久久综合一区二区| 欧美日韩一本到| www.久久久久久久久| 免费成人美女在线观看.| 成人免费在线视频| 精品福利一区二区三区| 欧美视频精品在线| 成人免费视频网站在线观看| 蜜臂av日日欢夜夜爽一区| 日韩美女精品在线| 久久久蜜桃精品| 欧美精品在线一区二区三区| 91免费看片在线观看| 国产一区二区三区精品欧美日韩一区二区三区| 日韩伦理免费电影| 国产欧美日韩中文久久| 日韩亚洲欧美在线| 欧美日产国产精品| 91原创在线视频| 国产成人免费av在线| 韩国三级中文字幕hd久久精品| 午夜精品久久久久久久蜜桃app| 中文字幕亚洲成人| 欧美韩日一区二区三区| 日韩精品在线一区| 欧美一级艳片视频免费观看| 欧美亚日韩国产aⅴ精品中极品| av在线不卡免费看| 国产v综合v亚洲欧| 国产经典欧美精品| 国产一区中文字幕| 精品一区精品二区高清| 国产99精品国产| 石原莉奈在线亚洲三区| 亚洲一区在线播放| 一区二区激情视频| 亚洲狼人国产精品| 亚洲精品乱码久久久久久日本蜜臀| 欧美高清在线一区二区| 国产亚洲制服色| 久久久一区二区| 久久久夜色精品亚洲| 久久久美女毛片| 国产亚洲精品aa| 国产精品视频一区二区三区不卡| 久久久久国色av免费看影院| 久久久一区二区三区| 国产欧美日韩在线观看| 国产精品激情偷乱一区二区∴| 欧美国产日韩亚洲一区| 中文字幕日韩一区| 一区二区三区中文免费| 亚洲成人在线网站| 日韩av电影天堂| 麻豆成人在线观看| 国产成人午夜视频| 91麻豆文化传媒在线观看| 在线观看免费成人| 91精品国产综合久久精品| 欧美成人免费网站| 国产免费成人在线视频| 亚洲欧美激情插| 香蕉av福利精品导航| 极品少妇xxxx偷拍精品少妇| 国产精品99久久不卡二区| av高清不卡在线| 欧美性色黄大片| 欧美电影免费观看高清完整版在线 | 国产精品正在播放| 成人av网站免费观看| 欧美日韩综合在线免费观看| 日韩三级av在线播放| 国产精品毛片无遮挡高清| 亚洲一区二区免费视频| 久久国产欧美日韩精品| 99re成人在线| 欧美一区二区三区色| 中文字幕免费在线观看视频一区| 亚洲精品日产精品乱码不卡| 日本视频一区二区三区| 成人福利视频在线看| 欧美美女网站色| 国产女主播视频一区二区| 亚洲国产精品久久艾草纯爱| 国内偷窥港台综合视频在线播放| 成人av动漫网站| 91精品中文字幕一区二区三区| 国产情人综合久久777777| 五月天欧美精品| 成人综合在线观看| 欧美一级片在线观看| 亚洲视频一二区| 国产在线精品国自产拍免费| 91激情在线视频| 国产偷国产偷精品高清尤物 | 久久99九九99精品| 一本色道久久综合狠狠躁的推荐| 精品国产自在久精品国产| 中文字幕中文字幕中文字幕亚洲无线 | 韩国一区二区视频| 欧美日韩亚洲不卡| 中文字幕中文在线不卡住| 久久精品噜噜噜成人88aⅴ| 色综合色狠狠综合色| 久久久久久电影| 免费观看日韩电影| 欧美在线观看18| 亚洲欧美在线另类| 国产精品一区一区三区| 欧美一区二区在线观看| 一区二区三区不卡在线观看 | 中文字幕在线一区免费| 精品中文字幕一区二区| 91麻豆精品久久久久蜜臀| 亚洲人精品午夜| 成人禁用看黄a在线| 久久久久久久久久美女| 免费亚洲电影在线| 在线观看91av| 水野朝阳av一区二区三区| 欧美色精品在线视频| 亚洲美女区一区| 91在线无精精品入口| 国产精品国产三级国产aⅴ原创| 国产精品18久久久久久久久久久久| 91精品婷婷国产综合久久性色| 亚洲在线一区二区三区| 在线免费一区三区| 亚洲裸体xxx| 日本韩国一区二区三区| 亚洲精品一二三| 欧洲精品中文字幕| 亚洲国产裸拍裸体视频在线观看乱了| 91啦中文在线观看| 夜夜嗨av一区二区三区四季av| 一本色道综合亚洲| 亚洲午夜国产一区99re久久| 欧美性三三影院| 同产精品九九九| 91精品国产高清一区二区三区 | 天天av天天翘天天综合网| 欧美性生活影院| 热久久国产精品| 久久综合久久久久88| 国产v综合v亚洲欧| 中文字幕日韩av资源站| 色久综合一二码| 性欧美疯狂xxxxbbbb| 4hu四虎永久在线影院成人| 蜜臀av性久久久久蜜臀aⅴ四虎 | 99久久婷婷国产| 亚洲精品国产品国语在线app| 欧美主播一区二区三区美女| 五月天精品一区二区三区| 欧美精品一区二区久久久| 成人av在线电影| 亚洲一区成人在线| 精品99久久久久久| 99精品桃花视频在线观看| 亚洲超碰精品一区二区| 日韩久久免费av|