c語言中從右向左的運(yùn)算符有哪些?
1、結(jié)論
左移運(yùn)算符(<<)
右移運(yùn)算符(>>)
2、拓展
1、左移運(yùn)算符格式:a<<b
將a這個(gè)數(shù)的各二進(jìn)制位左移b位,要求b必須是非負(fù)整數(shù),移動(dòng)過程中,右邊空出的位用0填補(bǔ),高位左移溢出則舍棄該高位。
舉例來看:
a=5,二進(jìn)制位:0000 0000 0000 0000 0000 0000 0000 0101
a<<3后結(jié)果為:0000 0000 0000 0000 0000 0000 0010 1000
即,右邊空出來的三位補(bǔ)0,左邊的0都舍棄,左右兩邊的三個(gè)0沒有關(guān)系。
2、右移運(yùn)算符
格式:a>>b
將a這個(gè)數(shù)的各二進(jìn)制位右移b位,要求b必須是非負(fù)整數(shù),移到右端的低位被舍棄。其中,①對(duì)于無符號(hào)數(shù),高位補(bǔ)0;②對(duì)于有符號(hào)數(shù),如果采用算術(shù)移位,則空出部分用符號(hào)位填補(bǔ),如果采用邏輯移位,則用0填補(bǔ)。
舉例來看:采用算數(shù)移位
a=-5,其二進(jìn)制位:1111 1111 1111 1111 1111 1111 1111 1011
a>>3后的結(jié)果為:1111 1111 1111 1111 1111 1111 1111 1111
即,-5為負(fù)數(shù),它的符號(hào)位為1,因此左邊填補(bǔ)三個(gè)符號(hào)位1,右邊011依次被移出而舍棄。