C語言移位符>>與ASR算術右移等價

做個實驗,看看C語言的右移到底是

(1)LSR邏輯右移,不復制符號位

(2)ASR算術右移,保留並複製符號位。

S32 a=0x81234567; /-2128394905

S32 result1=(a>>16);  //

S16 result2=(a>>16); 

S16 rrsult3=a/65536; //65536就是2的16次方

結果

result1 是0xffff8123

result2是0x8123

result3是0x8124

可見C語言右移就是算術右移,保留並複製符號位

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章