#include<stdio.h> #include<stdlib.h> unsigned int reverse_bit(unsigned x) { unsigned int a; unsigned int b=1,i,t; a = n&b; //按位或 for (i = 0; i < 31; i++) { a <<= 1; //左移 n >>= 1; //右移 t = n&b; a = a | t; } return a; //返回反轉後的數 } int main() { unsigned int value; printf("請輸入您想要反轉的數:"); scanf("%d", &value); printf("反轉後的數爲:%d\n", reverse_bit(value)); //調用反轉函數並輸出 system("pause"); return 0; }
本文只是在下在學習過程自己的想法,只能實現簡單功能,可能還沒考慮到程序的優化,與大神寫出來的代碼還有一定差距,如果那位大神發現了問題,請您不吝賜教,如果您還有更好的方法,不妨分享分享,謝謝!