二进制位处理

__builtin_ffs(x)                       返回右起第一个‘1’的位置。

__builtin_clz(x)                       返回左起第一个‘1’之前0的个数。

__builtin_ctz(x)                      返回右起第一个‘1’之后的0的个数。

__builtin_popcount(x)             返回‘1’的个数。 

十进制转化成二进制:

#include<iostream>
#include<bitset>
using namespace std ;
int main()    {
    bitset<5> b(15) ;
    cout << b  << endl ;  //  cout << b.to.string().c_str() << endl ;
    return 0 ;
}
原文地址:https://www.cnblogs.com/scottding/p/4333507.html