二進位制位翻轉:
阿新 • • 發佈:2019-01-03
題目:使用c語言編寫函式:
unsigned int reverse_bit(unsigned int value);
這個函式的返回值value的二進位制位模式從左到右翻轉後的值
思路:
利用按位與(&)求得二進位制每一位的數字,然後再與ret 進行 按位或(|) 運算。 ret左移,value右移
//unsigned int reverse_bit(unsigned int value); //二進位制位進行翻轉 #include<stdio.h> #include<stdlib.h> unsigned int reverse_bit(unsigned int value) { unsigned int ret = 0; for (int i = 0; i < 32; i++) { ret = ret << 1; unsigned bit = value & 1; value =value>> 1; ret |= bit; } return ret; } int main() { unsigned int value = 0; scanf("%d", &value); unsigned int ret=reverse_bit(value); printf("%u\n", ret); system("pause"); return 0; }