c語(yǔ)言左移和右移的示例詳解
邏輯移位,簡(jiǎn)單理解就是物理上按位進(jìn)行的左右移動(dòng),兩頭用0進(jìn)行補(bǔ)充,不關(guān)心數(shù)值的符號(hào)問題。
算術(shù)移位,同樣也是物理上按位進(jìn)行的左右移動(dòng),兩頭用0進(jìn)行補(bǔ)充,但必須確保符號(hào)位不改變。
算術(shù)移位指令
算術(shù)移位指令有:算術(shù)左移SAL(ShiftAlgebraic Left)和算術(shù)右移SAR(ShiftAlgebraic Right)。算術(shù)移位指令的功能描述如下:
(1)算術(shù)左移SAL把目的操作數(shù)的低位向高位移,空出的低位補(bǔ)0;
(2)算術(shù)右移SAR把目的操作數(shù)的高位向低位移,空出的高位用最高位(符號(hào)位)填補(bǔ)。
邏輯移位指令
此組指令有:邏輯左移SHL(ShiftLogical Left)和邏輯右移SHR(ShiftLogical Right)。邏輯左移/右移指令只有它們的移位方向不同,移位后空出的位都補(bǔ)0。
結(jié)論:不管是否有無(wú)符號(hào)類型,也不管值的正負(fù),均采用的是邏輯左移。
結(jié)論:說(shuō)明只要是有符號(hào)數(shù),不管值是正還是負(fù),右移時(shí)采用的都是算術(shù)右移。
疑問:按照移位補(bǔ)0的原則,為何左移都是邏輯移位呢?
答疑:先看看“-8”和“8”在計(jì)算機(jī)內(nèi)存中的值分別是:
0xfffffff8
0x8
由于計(jì)算機(jī)均按補(bǔ)碼保存數(shù)值,所以不管符號(hào)正負(fù),左移對(duì)于符號(hào)位并不產(chǎn)生影響,而右移則就不同了,無(wú)符號(hào)數(shù)怎么右移都不影響符號(hào)位,但是有符號(hào)數(shù)邏輯右移時(shí)高位補(bǔ)0將改變符號(hào)位,所以只能采用算術(shù)右移。
到此這篇關(guān)于c語(yǔ)言左移和右移的示例詳解的文章就介紹到這了,更多相關(guān)c語(yǔ)言左移和右移內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
實(shí)現(xiàn)一個(gè)random?shuffle算法示例
這篇文章主要為大家介紹了實(shí)現(xiàn)一個(gè)random?shuffle算法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05C++中拷貝構(gòu)造函數(shù)的總結(jié)詳解
深拷貝和淺拷貝可以簡(jiǎn)單理解為:如果一個(gè)類擁有資源,當(dāng)這個(gè)類的對(duì)象發(fā)生復(fù)制過程的時(shí)候,資源重新分配,這個(gè)過程就是深拷貝,反之,沒有重新分配資源,就是淺拷貝2013-09-09c語(yǔ)言函數(shù)如何求兩個(gè)數(shù)的最大值
這篇文章主要介紹了c語(yǔ)言函數(shù)如何求兩個(gè)數(shù)的最大值問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12Qt中QMapIterator檢測(cè)是否為空的實(shí)現(xiàn)
本文主要介紹了Qt中QMapIterator檢測(cè)是否為空的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-10-10C語(yǔ)言操作符進(jìn)階教程(表達(dá)式求值隱式類型轉(zhuǎn)換方法)
這篇文章主要為大家介紹了C語(yǔ)言操作符進(jìn)階教程(表達(dá)式求值隱式類型轉(zhuǎn)換方法)2022-02-02c++遞歸實(shí)現(xiàn)n皇后問題代碼(八皇后問題)
c++遞歸實(shí)現(xiàn)n皇后問題代碼分享,大家參考使用吧2013-12-12C語(yǔ)言 結(jié)構(gòu)體(Struct)詳解及示例代碼
本文主要介紹C語(yǔ)言 結(jié)構(gòu)體的知識(shí),學(xué)習(xí)C語(yǔ)言肯定需要學(xué)習(xí)結(jié)構(gòu)體,這里詳細(xì)說(shuō)明了結(jié)構(gòu)體并附示例代碼,供大家參考學(xué)習(xí),有需要的小伙伴可以參考下2016-08-08C語(yǔ)言實(shí)現(xiàn)手機(jī)電話簿管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)手機(jī)電話簿管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06