位運(yùn)算和移位運(yùn)算
(1)& :如果兩個相應(yīng)的二進(jìn)制位都為1,則該位的結(jié)果值為1;否則為0.
(2) | :兩個相應(yīng)的二進(jìn)制位中只要有一個為1,該位的結(jié)果值為1.
(3)^ :若參加運(yùn)算的兩個二進(jìn)制位同號則結(jié)果為0(假)異號則結(jié)果為1(真).
(4)~ :~是一個單目(元)運(yùn)算符,用來對一個二進(jìn)制數(shù)按位取反,即將0變1,將1變0.
(5)>> :表示將a的各二進(jìn)制位右移N位,移到右端的低位被舍棄,對無符號數(shù),高位補(bǔ)0.
(6)<< :左移運(yùn)算符是用來將一個數(shù)的各二進(jìn)制位全部左移N位,右補(bǔ)0.
注意
a.任何一個數(shù)和0異或是它的本身,和自身異或?yàn)?/span>0.
b.左移運(yùn)算:x << y.將x左移y位,將x最左邊的y位丟棄,在右邊補(bǔ)y個0.
c.右移運(yùn)算:x >> y.將x右移y位,這需要區(qū)分x是有符號數(shù)還是無符號數(shù)。在x是無符號數(shù)時,只需將x的最右邊的y位丟棄,在左邊補(bǔ)上y個0。在x是有符號數(shù)時,又分為x是正數(shù)還是負(fù)數(shù)。正數(shù)時,同無符號數(shù)的處理相同;負(fù)數(shù)時,將將x的最右邊的y位丟棄,在左邊補(bǔ)上y個1.
點(diǎn)擊加載更多評論>>