C語言中左移和右移運算符詳細介紹。本站提示廣大學習愛好者:(C語言中左移和右移運算符詳細介紹)文章只能為提供參考,不一定能成為您想要的結果。以下是C語言中左移和右移運算符詳細介紹正文
投稿:lqh
這篇文章主要介紹了C語言中左移和右移運算符詳細介紹的相關資料,需要的朋友可以參考下C語言中左移和右移運算符詳細介紹
左移運算符(<<)
左移運算符是用來將一個數的各二進制位左移若干位,移動的位數由右操作數指定(右操作數必須是非負值),其右邊空出的位用0填補,高位左移溢出則捨棄該高位。
右移運算符(>>)
右移運算符是用來將一個數的各二進制位右移若干位,移動的位數由右操作數指定(右操作數必須是非負值),移到右端的低位被捨棄,對於無符號數,高位補0。
對於有符號數,某些機器將對左邊空出的部分用符號位填補(即“算術移位”),而另一些機器則對左邊空出的部分用0填補(即“邏輯移位”)。
注意:對無符號數,右移時左邊高位移入0;對於有符號的值,如果原來符號位為0(該數為正),則左邊也是移入0。如果符號位原來為1(即負數),則左邊移入0還是1,要取決於所用的計算機系統。有的系統移入0,有的系統移入1。移入0的稱為“邏輯移位”,即簡單移位;移入1的稱為“算術移位”。
%d和%u
有符號的十進制輸出用%d,無符號的十進制輸出用%u,對於long型的數據分別表示為%ld和%lu
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!