// 將一個數的二進制序列逆序,然後輸出逆序之後的二進制序,所對應的數 #include// 從原數拿出最低位,放到mid中,mid左移,原數右移 int reverse(int a) { int mid = 0; int bit; int n = 31; for (; n > 0; --n) { bit = a & 1; mid |= bit; mid <<= 1; a >>= 1; } return mid; } int main() { printf(%u , reverse(1)); printf(%u , reverse(0)); printf(%u , reverse(-1)); return 0; }