運用了位運算通常代碼很簡單。ios
這裏要清楚的一點是&運算符:spa
1&1 = 1, 1&0 = 0, 0&1 = 0, 0&0 = 1;code
先上一段代碼,很簡單,不理解能夠直接記模板:blog
1 #include <iostream> 2 #include <cstdio> 3 4 using namespace std; 5 6 int main() 7 { 8 int n; //十進制數 9 scanf("%d", &n); 10 for(int i = 4; i >= 0; i--) 11 printf("%d", n>>i&1); 12 printf("\n"); 13 return 0; 14 }
其中i =31; i >= 0; i--表示二位數爲000000000000000000000000000000(32位)io
而這段代碼的核心是位運算:n>>i&1;模板
這段代碼的解釋是,n爲10進制數,n / 2的 i 次方,若爲奇數則 n>>i&1 = 1, 爲偶數則爲 n>>i&1 = 0;class