循環(huán)移位就是把數(shù)值變成二進(jìn)制,然后循環(huán)移動(dòng)的過(guò)程。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、微信平臺(tái)小程序開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了城固免費(fèi)建站歡迎大家使用!
換句話說(shuō),循環(huán)移位就是將移出的低位放到該數(shù)的高位(循環(huán)右移)或把移出的高位放到該數(shù)的低位(循環(huán)左移),左移,和右移動(dòng)都是對(duì)整數(shù)進(jìn)行的操作,在Win32控制臺(tái)應(yīng)用程序中,整形占4Byte節(jié)32bit。
循環(huán)左移的過(guò)程可以分為3步:
1、將x左端的n位先移動(dòng)到y(tǒng)的低n位中,x(32-n);
2、將x左移n位,其右面低位補(bǔ)0,xn;
3、進(jìn)行按位或運(yùn)算(x (32 - n) | (x n));
循環(huán)右移的過(guò)程可以分為3步:?
1、將x的左端的低n位先移動(dòng)到y(tǒng)的高n位中x(32-n)
2、將x右移n位,其左面高n位補(bǔ)0xn;
3、進(jìn)行按位或操作(x (32 - n) | (x n));
擴(kuò)展資料
C語(yǔ)言實(shí)現(xiàn)循環(huán)移位:循環(huán)移位是對(duì)二進(jìn)制序列進(jìn)行操作,所以實(shí)現(xiàn)循環(huán)移位先需要將需要移位的數(shù)轉(zhuǎn)換為二進(jìn)制序列,然后按照上面描述的步驟進(jìn)行移位,最后將移位后的二進(jìn)制序列打印出來(lái)。
所謂循環(huán)移位是指在移位時(shí)不丟失移位前原范圍的位,而是將它們作為另一端的補(bǔ)入位。例如循環(huán)右移n位,指各位右移n位,原來(lái)的低n位變成高n位,指各位右移n位,原來(lái)的低n位變成高n位。
用到循環(huán)移位的操作時(shí),在匯編里面是比較容易實(shí)現(xiàn)的,ror,rol指令就行了。利用位運(yùn)算進(jìn)行循環(huán)移位操作比較容易理解。如果不是循環(huán)移位,使用xn(左移n位),xn右移n位。
參考資料來(lái)源:百度百科—循環(huán)移位運(yùn)算
默認(rèn)只有算術(shù)右移。 要循環(huán)右移需要把最低位保存下來(lái), 然后賦值到最左。
unsigned?int?func(unsigned?int?n)
{
unsigned?int?v=n1;
n=1;
if(v)?n|=1(sizeof(unsigned?int)-1);
return?n;
}
函數(shù)功能:將輸入字符串 src循環(huán)右移n位 result為輸出結(jié)果
要求:以效率最高的方式實(shí)現(xiàn)
示例:
“abcde” --2-- "deabc"
"abcde"--8--"cdeab"
void right_shift_r(const char* src,char* result,unsigned int n)
{
? ? unsigned int len = strlen(src);
int i=0;
? ? for(i=0;ilen;i++)
{
? ? ? ? ? ? result[i] = src[i+n]%len;?
}
}
unsigned char crol(unsigned char c,unsigned b)
{ //左移
unsigned char left;left=cb;
unsigned char right;right=c( sizeof (unsigned char )-b) ;
return left|right;
}
unsigned char cror(unsigned char c,unsigned b)
{ //右移
unsigned char right;
right =cb;
unsigned char left ;
left=c( sizeof (unsigned char )-b) ;
return left|right;
}
新聞標(biāo)題:c語(yǔ)言中的循環(huán)右移函數(shù),C語(yǔ)言循環(huán)左移
網(wǎng)站路徑:http://www.rwnh.cn/article46/dssophg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、全網(wǎng)營(yíng)銷(xiāo)推廣、軟件開(kāi)發(fā)、云服務(wù)器、外貿(mào)網(wǎng)站建設(shè)、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)