15.3移位運(yùn)算
1.移位運(yùn)算符
移位運(yùn)算是對(duì)操作數(shù)以二進(jìn)制位為單位進(jìn)行左移或右移。
移位操作
運(yùn)算符名稱例子運(yùn)算功能
>>右移位b>>3b右移3位
<<左移位c<<2c左移2位
2.左移運(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)。
3.右移運(yùn)算
右移運(yùn)算符“>>”是雙目運(yùn)算符,其功能是把“>>”左邊的運(yùn)算數(shù)的各二進(jìn)位全部右移若干位,“>>”右邊的數(shù)指定移動(dòng)的位數(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或1取決于編譯系統(tǒng)的規(guī)定。TurboC規(guī)定補(bǔ)1。
右移運(yùn)算相當(dāng)于將運(yùn)算對(duì)象除2.
15.4位賦值運(yùn)算
位賦值運(yùn)算符。
位賦值運(yùn)算符
運(yùn)算符名稱例子等價(jià)于
&=位與賦值a&=ba=2&b
︳=位或賦值a|=ba=a|b
∧=位異或賦值a∧=ba=a∧b
>>=右移賦值a>>ba=a>>b
<<=左移賦值a<<=ba=a<
位賦值運(yùn)算的過(guò)程為:
(1)先對(duì)兩個(gè)操作數(shù)進(jìn)行位操作;
(2)然后把結(jié)果賦予第一個(gè)操作數(shù),因此第一個(gè)操作數(shù)必須是變量。
位賦值運(yùn)算與算術(shù)賦值運(yùn)算相似,它們都統(tǒng)稱復(fù)合賦值運(yùn)算。
![]() | ![]() .. 定價(jià):¥225 優(yōu)惠價(jià):¥213 更多書籍 |
![]() | ![]() .. 定價(jià):¥133 優(yōu)惠價(jià):¥133.0 更多書籍 |