編寫函數: unsigned int reverse_bit(unsigned int value); 這個函數的返回 值value的二進制位模式從左到右翻轉後的值。

//如:
//在32位機器上25這個值包含下列各位:
//00000000000000000000000000011001
//翻轉後:(2550136832)
//100110000000000000000000000




#include<stdio.h>

unsigned int reverse_bit(unsigned int num)
{
   unsigned int ret=0;
   int i=0;
   for(i=0;i<32;i++)
   {
       ret+=((num>>i)&1)*pow(2,31-i);
   }
   return ret;
}


int main()
{
unsigned int num=25;
printf("%u\n", num);
printf("%u\n",reverse_bit(num));


return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章