如何实现翻转一串二进制代码:

如何实现翻转一串二进制代码:
方法一;  指数法    
 for(i=0;i<32;i++)  
    {  
        ret=value & 1;                                   //value为需要翻转的二进制序列 
        sum=sum+(ret*pow(2,(31-i)));     //每次&1取最低位然后乘以起翻转后的权的二次幂;
        value=value >> 1  ;                         //每次取完一个最低为后二进制序列右移1;取下一位 
  
    }  


方法二:  逻辑运算
     for( i=0; i < 32; i++)
     {
         ret = ret << 1;                 // ret储存value的最低位,每次取到最低位后向左移动一位;
         bit = value & 1;             // 取value的最低位 存储到bit 
         value = value >> 1;     // 向右移动一位
         ret = bit | ret;                 //将所取到的最低位传给ret


     }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值