如何計算位運算中的左移和右移


正數的左移和右移
以3為例
3的二進制為
00000011
右移2位的時候將最右的11去掉左邊補00結果為:00000000 — >十進是中的0
左移2位的時候將最左的00去掉右邊補00結果為:00001100 —–>十進是中的12

對於-3來說,負數的都是以補碼的形式存在於計算器中
補碼 = 反碼+1
-3的二進制為
100000011
取反的補碼為(符號為不變)
111111100
再加1,為補碼11111101

右移2位的時候將最右的01去掉左邊補11結果為:11111111 —> 為補碼,要求原碼
還需要-1 :11111110 ,再取反(符號位不動) :10000001:——>十進制中的-1,所以-3的右移2位為十進制中的-1

左移2位的時候將最左邊11去掉右邊補00結果為:11110100 —-> 為補碼,要求原碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM