C語言中左移和右移運(yùn)算符詳細(xì)介紹
C語言中左移和右移運(yùn)算符詳細(xì)介紹
左移運(yùn)算符(<<)
左移運(yùn)算符是用來將一個數(shù)的各二進(jìn)制位左移若干位,移動的位數(shù)由右操作數(shù)指定(右操作數(shù)必須是非負(fù)值),其右邊空出的位用0填補(bǔ),高位左移溢出則舍棄該高位。
右移運(yùn)算符(>>)
右移運(yùn)算符是用來將一個數(shù)的各二進(jìn)制位右移若干位,移動的位數(shù)由右操作數(shù)指定(右操作數(shù)必須是非負(fù)值),移到右端的低位被舍棄,對于無符號數(shù),高位補(bǔ)0。
對于有符號數(shù),某些機(jī)器將對左邊空出的部分用符號位填補(bǔ)(即“算術(shù)移位”),而另一些機(jī)器則對左邊空出的部分用0填補(bǔ)(即“邏輯移位”)。
注意:對無符號數(shù),右移時左邊高位移入0;對于有符號的值,如果原來符號位為0(該數(shù)為正),則左邊也是移入0。如果符號位原來為1(即負(fù)數(shù)),則左邊移入0還是1,要取決于所用的計(jì)算機(jī)系統(tǒng)。有的系統(tǒng)移入0,有的系統(tǒng)移入1。移入0的稱為“邏輯移位”,即簡單移位;移入1的稱為“算術(shù)移位”。
%d和%u
有符號的十進(jìn)制輸出用%d,無符號的十進(jìn)制輸出用%u,對于long型的數(shù)據(jù)分別表示為%ld和%lu
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
C++實(shí)現(xiàn)WebSocket服務(wù)器的案例分享
WebSocket是一種在單個TCP連接上進(jìn)行全雙工通信的通信協(xié)議,與HTTP協(xié)議不同,它允許服務(wù)器主動向客戶端發(fā)送數(shù)據(jù),而不需要客戶端明確地請求,本文主要給大家介紹了C++實(shí)現(xiàn)WebSocket服務(wù)器的案例,需要的朋友可以參考下2024-05-05C語言位段(位域)機(jī)制結(jié)構(gòu)體的特殊實(shí)現(xiàn)及解析
這篇文章主要為大家介紹了C語言位段位域機(jī)制結(jié)構(gòu)體的特殊實(shí)現(xiàn)講解有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-02-02VC實(shí)現(xiàn)讓關(guān)閉按鈕成灰色不可用的方法
這篇文章主要介紹了VC實(shí)現(xiàn)讓關(guān)閉按鈕成灰色不可用的方法,比較實(shí)用的一個特殊功能,需要的朋友可以參考下2014-08-08關(guān)于C++智能指針shared_ptr和unique_ptr能否互轉(zhuǎn)問題
C++中的智能指針最常用的是shared_ptr和unique_ptr,C++新手最常問的問題是我從一個函數(shù)中拿到unique_ptr,但要轉(zhuǎn)成shared_ptr才能使用,要怎么轉(zhuǎn)換?同理是否能將shared_ptr轉(zhuǎn)換成unique_ptr,面對這些問題,跟隨小編一起看看吧2022-05-05