嵌入式C开发---用循环实现左移右移

Posted Engineer-Bruce_Yang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了嵌入式C开发---用循环实现左移右移相关的知识,希望对你有一定的参考价值。

//将n左移m位 
int byte_to_left_move(int n , int m)
{
    int i , ret = 1 ;
    if(n == 0 || n < 0)
    {
        return ;    
    }
    if(n == 1)
    {
        for(i = 0 ; i < m ; i++)
            ret *= n * 2 ;
    }
    if(n > 1)
    {
        for(i = 0 ; i < m ; i++)
             ret *= n ;    
    }
    return ret ;
}
//将n右移m位 
int byte_to_right_move(int n , int m)
{
    int i , ret = 1 ;
    if(n == 0 || n < 0)
    {
        return ;    
    }
    if(n == 1)
    {
       ret = 0 ; 
    }
    if(n > 1)
    {
        for(i = 0 ; i < m ; i++){
            n /= 2 ;
        }
        ret = n ;
    }
    return ret ;
}
闲着无聊,自己写了两个API接口,测试通过,但可能还没完善,不过初步的实现了将一个数左移右移N位的算法,算法实现非常简单,就是循环的乘和除,这时候明白了,其实基础是很重要的,比如开始学习C语言的时候,老师教的累乘和累加的算法,尽管简单,但还是用途很大,这两个API也有类似的,比如左移的接口就有累乘的性质在里面。

以上是关于嵌入式C开发---用循环实现左移右移的主要内容,如果未能解决你的问题,请参考以下文章

第十三届蓝桥杯Java B 组国赛 C 题——左移右移(AC)

左移右移(转)

位算符详解 按位与或异或取反左移右移

jQuery实现左移右移

GNU汇编逻辑或算数左移右移

jQuery练习--[实现左移右移功能,实现列表动态新增,删除功能;实现表格隔行变色,选中时高亮显示.]