- 相關(guān)推薦
C語(yǔ)言入門知識(shí):位運(yùn)算
導(dǎo)語(yǔ):C語(yǔ)言作為一門非常適合編程入門的語(yǔ)言,打好基礎(chǔ)的重要性不言而喻。下面是其位運(yùn)算的相關(guān)知識(shí),歡迎閱讀:
一、位運(yùn)算符
在計(jì)算機(jī)中,數(shù)據(jù)都是以二進(jìn)制數(shù)形式存放的,位運(yùn)算就是指對(duì)存儲(chǔ)單元中二進(jìn)制位的運(yùn)算。C語(yǔ)言提供6種位運(yùn)算符。
二、位運(yùn)算
位運(yùn)算符 & |~<< >> ∧ 按優(yōu)先級(jí)從高到低排列的順序是:
位運(yùn)算符中求反運(yùn)算“~“優(yōu)先級(jí)最高,而左移和右移相同,居于第二,接下來(lái)的順序是按位與 “&“、按位異或 “∧“和按位或 “|“。順序?yàn)閪 << >> & ∧ | 。
例1:左移運(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)。
例2:右移運(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)該說(shuō)明的是,對(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ī)定。
例3:設(shè)二進(jìn)制數(shù)a是00101101 ,若通過(guò)異或運(yùn)算a∧b 使a的高4位取反,低4位不變,則二進(jìn)制數(shù)b是。
解析:異或運(yùn)算常用來(lái)使特定位翻轉(zhuǎn),只要使需翻轉(zhuǎn)的位與1進(jìn)行異或操作就可以了,因?yàn)樵瓟?shù)中值為1的位與1進(jìn)行異或運(yùn)算得0 ,原數(shù)中值為0的位與1進(jìn)行異或運(yùn)算結(jié)果得1。而與0進(jìn)行異或的位將保持原值。異或運(yùn)算還可用來(lái)交換兩個(gè)值,不用臨時(shí)變量。
如 int a=3 , b=4;,想將a與b的值互換,可用如下語(yǔ)句實(shí)現(xiàn):
a=a∧b;
b=b∧a;
a=a∧b;
所以本題的答案為: 11110000 。
【C語(yǔ)言入門知識(shí):位運(yùn)算】相關(guān)文章:
C語(yǔ)言入門知識(shí):運(yùn)算符07-27
C語(yǔ)言位運(yùn)算基礎(chǔ)知識(shí)02-20
C語(yǔ)言位運(yùn)算的基礎(chǔ)知識(shí)05-27
C語(yǔ)言的位運(yùn)算05-31
C語(yǔ)言位運(yùn)算10-28
C語(yǔ)言的位運(yùn)算的優(yōu)勢(shì)06-21
C語(yǔ)言位運(yùn)算詳解07-03
C語(yǔ)言入門知識(shí)07-20
C語(yǔ)言入門必備知識(shí)10-03