c語言中左移、右移要注意的細節

左移規則:高位丟棄,低位補0

右移規則:

右移分爲邏輯右移和算數右移,幾乎所有的編譯器都對有符號數使用算數右移,而對於無符號數必須用邏輯右移。

  1. 邏輯右移:高位補0,低位丟棄;
  2. 算數右移:高位補最高有效位的值,低位丟棄;

當移位的位數超過改變量類型的位數時,比如變量佔用的內存有w位,需要移動k位,當k>w時,我們需要移動的位數shift應該是:

shift = k % w;

還有一個要注意的是加法運算的優先級要比移位運算的優先級高:

如:

1<<2+3<<4;

本人喜歡編程,喜歡計算機,如果有志同道合的朋友,歡迎添加微信 mybc_0,擴展IT圈人脈,遇到技術問題共同探討,共同進步。

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