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