?
算術(shù)右移和邏輯右移是算術(shù)算數(shu)算術(shù)算數計算機中常用的兩種移位操作,它們在處理二進(jìn)制數據時(shí)有著(zhù)不同的右移移指移和右移右移移指移和右移樣效果,下面(′?_?`)將詳細介紹這兩種操作的和邏和邏區別。
(圖片來(lái)源網(wǎng)絡(luò ),輯右輯右輯右輯右侵刪)1、令邏令邏算術(shù)右移(Arithmetic Right Shift)
算術(shù)右移是算術(shù)(shu)算數算術(shù)算數將二進(jìn)制數向右移動(dòng)指定的位數,同時(shí)用符號位(最高位)進(jìn)行填充。右移移指移和右移右移移指移和右移樣
在算術(shù)右移過(guò)程中,和邏和邏符號位會(huì )擴展,輯右輯右輯右輯右即如果源操作數的令邏令邏最高位為1,則目標操作數的算術(shù)算數算術(shù)算數最高位也(/ω\)保持為1;如果源操作數的最高位為0,則目標操作數的右移移指移和右移右移移指移和右移樣最高位保持為??0。ヾ(′?`)?
算術(shù)右移主要用于有符號整數的和邏和邏運算,可以保持負數的輯右輯右輯右輯右符號不變。
2、令邏令邏邏輯右移(Logical Riヽ(′▽?zhuān)?ノght Shift)
邏輯右移是將??二進(jìn)制數向右移動(dòng)指定(//ω//)的位數,同時(shí)用0進(jìn)行填充。
邏輯右移主要用于無(wú)符號整數的運算,(′?ω?`)可以將負數轉換為(wei)正數。
| 操作類(lèi)型 | 移位方向 | 填充方式 | 符號位擴展 |
算術(shù)右移 | 向右 | 符號位填充 | 是 |
| 邏輯右移 | 向右 | 0填充 | 否 |
需要注意的是,雖然算術(shù)右移和邏??輯右移??在處理有符號(hao)整數時(shí)有不同的效果,但它們在處理無(wú)符號整數時(shí)的效果是相同的,無(wú)論是算術(shù)右移還是邏輯右移,都將無(wú)符號整數向右移動(dòng)指定(′Д` )的位數,并用0進(jìn)行填充。