日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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语言 >> 右移位运算符的原理和一些概念的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。