如何实现翻转一串二进制代码:
方法一; 指数法
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
}
方法一; 指数法
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
}

本文详细介绍了两种实现二进制代码翻转的方法:指数法和逻辑运算法。通过循环操作,逐步反转二进制序列的每一位,最终得到翻转后的二进制数。
2116

被折叠的 条评论
为什么被折叠?



