1
3
4 #include <iostream>
5 #include <cstdio>
6 #include <algorithm>
7 #include <cstring>
8 #include <vector>
9 #include <utility>
10 #include <queue>
11 #include <set>
12 using namespace std;
13 typedef long long ll;
14 const int N=1e5+6;
15 int n;
16 int main()
17
18 {
19 while(~scanf("%d",&n)){
20 printf("%d\n",__builtin_clz(n));//返回左起第一个‘1’之前0的个数。
21 printf("%d\n",__builtin_ctz(n));//返回右起第一个‘1’之后的0的个数。
22 printf("%d\n",__builtin_popcount(n));//返回‘1’的个数。
23 printf("%d\n",__builtin_ffs(n));//返回右起第一个‘1’的位置。
24 }
25 /*
26 20:0000000000000000000000000010100
27 27
28 2
29 2
30 3
31
32 return 0;
33 }