zoukankan      html  css  js  c++  java
  • unsigned int reverse_bit(unsigned int value);

     1 /*编写函数 
     2 unsigned int  reverse_bit(unsigned int value); 
     3 这个函数的返回值吧value的二进制位模式从左到右翻转后的值。 
     4 如在32位机器上25这个值包含下列各位: 
     5 00000000000000000000000000011001 
     6 翻转后:(2550136832) 
     7 10011000000000000000000000000000 
     8 */  
     9 #include <stdio.h>   
    10 #include <math.h>   
    11 int reverse_bit(unsigned int value)   
    12 {   
    13     int ret = 0;   
    14     int bit = 0;   
    15     int i;  
    16     for( i=0; i < 32; i++)   
    17     {   
    18         ret = ret << 1; //左移一位,保存前一位  
    19     //注意dst <<= 1这条语句必须出现在dst |= 1之前,
    20     //否则duo左移一位
    21         bit = value & 1; //取出最后一位  
    22         value = value >> 1;//值右移,取下一位  
    23         ret = bit | ret; //最后一位赋给ret  
    24     
    25     }   
    26     return ret;   
    27 }  
    28 int main()   
    29 {   
    30     printf("%u
    ",reverse_bit(25));   
    31     return 0;   
    32 }  

  • 相关阅读:
    [USACO12FEB]牛券Cow Coupons
    合并果子
    序列合并
    中位数
    道路游戏
    教主的花园
    摆花
    hello world之Makefile
    mysql+tomcat+spring 配置心得(从0开始搭环境)
    C#,.Net自动生成大写字母编码
  • 原文地址:https://www.cnblogs.com/myohao/p/8496870.html
Copyright © 2011-2022 走看看