當前位置:
首頁 >
C语言 >> 右移位运算符的原理和一些概念
發布時間:2023/12/1
45
豆豆
生活随笔
收集整理的這篇文章主要介紹了
C语言 >> 右移位运算符的原理和一些概念
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、右移位于左移位不同
左移位 不管是 邏輯移位 算術移位 都是低位補0;
右移位 的 邏輯移位和算術移位不同, 算術移位高位補符號位,邏輯移位 高位補0;
右移位 使用邏輯移位的話 需要強制轉換成unsigned 無符號型;
2、右移位的計算方法
以 a=113 , a >>2 為例
113: 0111 0001
>>2: 0001 1100
即 28; a>>2 = 28;
以 b=-113 , b>>2 為例
-113 : 1111 0001
反碼: 1000 1110
補碼: 1000 1111
>>2 : 1110 0011 (高位補符號位1)
再反碼:1001 1100
再補碼:1001 1101
即 b>>2 = -29;
正數的 補碼是其本身,所以不用反復求補碼; 負數則不同。
另; 移位的位數 不能為負值 , a>>-2 或者a<<-2 是錯誤的。
總結
以上是生活随笔為你收集整理的C语言 >> 右移位运算符的原理和一些概念的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 拳击多少钱啊?
- 下一篇: 【世界上最美丽的7张太阳照片】