正數的左移和右移
以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 —-> 為補碼,要求原碼