古詩詞大全網 - 成語故事 - .C語言中,<<是什麽意思

.C語言中,<<是什麽意思

C語言中,<<和>>是移位操作符,下面是網上的資料:

位移位運算符是將數據看成二進制數,對其進行向左或向右移動若幹位的運算。位移位運算符分為左移和右移兩種,均為雙目運算符。第壹運算對象是移位對象,第二個運算對象是所移的二進制位數。

移位時,移出的位數全部丟棄,移出的空位補入的數與左移還是右移花接木有關。如果是左移,則規定補入的數全部是0;如果是右移,還與被移位的數據是否帶符號有關。若是不帶符號數,則補入的數全部為0;若是帶符號數,則補入的數全部等於原數的最左端位上的原數(即原符號位)。具體移位規則如下所示。

位移位運算符的優先級如下:

·算術運算符 優先於 位移位運算符 優先於 關系運算符

·位移位運算符是同級別的,結合性是自左向右

例如,設無符號短整型變量a為0111(對應二進制數為0000000001001001),

則:a<<3 結果為01110(對應二進制數為0000001001001000),a不變

a>>4 結果為04 (對應二進制數為0000000000000100),a不變

又如,設短整型變量a為-4(對應二進制數為1111111111111100),

則:a<<3 結果為-32(對應二進制數為1111111111100000),a不變

a>>4 結果為-1(對應二進制數為1111111111111111),a不變