int main() { cout<<__builtin_ffs(4)<<endl; //返回n的最后一位1的是从后向前第几位 //返回3 cout<<__builtin_ctz(8)<<endl; //返回n的后面的0的个数 //返回3 cout<<__builtin_popcount(11)<<endl; //11=1011 返回n中1的个数 //返回3 cout<<__builtin_parity(11)<<endl; //返回n的奇偶校验位,也就是n的1的个数模2的结果。 //返回1 //这些函数都有相应的usigned long和usigned long long版本,只需要在函数名后面加上l或ll就可以了,比如int __builtin_clzll。 }