位运算中的左移和右移的计算详解
生活随笔
收集整理的這篇文章主要介紹了
位运算中的左移和右移的计算详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近在學習javaScrapt,在學到位運算符這部分的時候,突然發現看不懂書上的例子了。經過查找資料后,發現了一遍不錯的文章。分享一下:
正數的左移和右移
以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 —-> 為補碼,要求原碼
還需要-1:11110011,再取反(符號位不動):10001100:—–>十進制中的-12,所以-3的左移2位為十進制中的-12
總結
以上是生活随笔為你收集整理的位运算中的左移和右移的计算详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UOS系统应用商店提示安装失败
- 下一篇: six库是什么