標(biāo)題: C語言中循環(huán)移位的方法 循環(huán)移位區(qū)別于一般 [打印本頁]

作者: 51黑芯片    時間: 2016-1-17 04:22
標(biāo)題: C語言中循環(huán)移位的方法 循環(huán)移位區(qū)別于一般
                                                                                                 C語言中循環(huán)移位的方法


循環(huán)移位區(qū)別于一般移位的是移位時沒有數(shù)位的丟失。循環(huán)左移時,用從左邊移出的位填充字的右端,而循環(huán)右移時,用從右邊移出的位填充字的左側(cè)。這種情況在系統(tǒng)程序中時有使用,在一些控制程序中用得也不少。
  設(shè)有數(shù)據(jù)說明:

  a=01111011,循環(huán)左移2位 正確結(jié)果: 11101101

  過程:

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

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

  a=a|b; a=11101101

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

  總長度N(8 16 32)

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

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

  C語言的位運(yùn)算功能是其區(qū)別于其他大多數(shù)高級程序設(shè)計(jì)語言的特色之一,用它可以方便實(shí)現(xiàn)一些特殊功能,靈活掌握是用C程序編寫系統(tǒng)程序的基礎(chǔ)。






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1