程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言基礎知識 >> 教你如何在C語言使用位運算實現循環移位

教你如何在C語言使用位運算實現循環移位

編輯:C語言基礎知識

循環移位區別於一般移位的是移位時沒有數位的丟失。循環左移時,用從左邊移出的位填充字的右端,而循環右移時,用從右邊移出的位填充字的左側。這種情況在程序中時有使用,在一些控制程序中用得也不少。

設有數據說明:

a=01111011,循環左移2位 正確結果: 11101101

過程:

b=a>>(8-2) 用來得到正常左移丟失的位和循環移位後其正確位置 b=00000001;

a=a<<2;左移 a=11101100

a=a|b; a=11101101

如果不是用中間變量 a=(a>>(8-2))|(a<<2)

總長度N(8 16 32)

循環左移n (a>>(N-n))|(a>>n)

循環右移n (a<<(N-n))|(a>>n)

C語言的位運算功能是其區別於其他大多數高級程序設計語言的特色之一,用它可以方便實現一些特殊功能,靈活掌握是用C程序編寫系統程序的基礎。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved