c语言字符串循环右移

c语言字符串循环右移,第1张

函数功能如巧耐宽巧:将输入字渣春符串 src循环右移n位 result为输出结果

要求:以效率最高的方式实现

示例:

“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=0i<leni++)

        {

                result[i] = src[i+n]%len 

        }

}

C语言中,“<<”为左移运算符,“>>”为右移运算符。

具体使用方法如下:

1、左移运算符(<<)

将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)。

例:a

=

a

<<

2

将a的二进制位左移2位,右补0,

左移1位后a

=

a

*

2

若左移时舍弃的高位不包含1,则每左移一位,相当于该数乘以汪颂2。

2、右移运算符(>>)

将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右困唯郑边丢弃。

*** 作数每右移一位,相当于该数除以2。

例如:a

=

a

>>山旅

2

将a的二进制位右移2位。

左补0

or

补1

得看被移数是正还是负。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12336035.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存