资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

C语言编程输出一个数二进制位模式从左到右翻转后的值

eg:
在32位机器上25这个值包含下列各位:
00000000000000000000000000011001
翻转后:(2550136832)
10011000000000000000000000000000
程序结果返回:
2550136832

久治网站建设公司成都创新互联公司,久治网站设计制作,有大型网站制作公司丰富经验。已为久治1000+提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的久治做网站的公司定做!

代码核心思想是将原来二进制序列最后一位看作反转后第一位,将原来二进制序列第一位看作反转后最后一位进行重新计算

比如15的2进制为 ……0000 1111
计算方法为
12^1 + 12^2 + 12^3 + 12^4
反转后为1111 0000……
计算方法为
12^31+12^30+12^29+12^28

源代码:

#include
#include
#include
unsigned int reverse_bit(unsigned int value)
{
    int i=0,sum=0;
    for (i = 0; i < 32;i++)
    {
        sum+=((value>> i) &1) * (int)pow(2, 31 - i);//反转后依次每位二进制序列重新计算
    }
    return sum;
}
int main()
{
    int n = 25,result;
    result=reverse_bit(n);
    printf("%u", result);
    system("pause");
    return 0;
}

本文名称:C语言编程输出一个数二进制位模式从左到右翻转后的值
网站地址:http://cdkjz.cn/article/gphjdi.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220