# std::bitset<N>::to_ulong

< cpp‎ | utility‎ | bitset

unsigned long to_ulong() const |  |

转换 bitset 的内容为 unsigned long 整数。

bitset 的首位对应数的最低位，而尾位对应最高位。

### 参数

（无）

### 返回值

转换出的整数

### 异常

若值不能以 unsigned long 表示则抛出 std::overflow_error 。

### 示例

    #include <iostream>
    #include <bitset>

    int main()
    {
        for (unsigned long i = 0; i < 10; ++i) {
            std::bitset<5> b(i);
            std::bitset<5> b_inverted = ~b;
            std::cout << i << '\t';
            std::cout << b << '\t';
            std::cout << b_inverted << '\t';
            std::cout << b_inverted.to_ulong() << '\n';
        }
    }

输出：

    0      00000   11111   31
    1       00001   11110   30
    2       00010   11101   29
    3       00011   11100   28
    4       00100   11011   27
    5       00101   11010   26
    6       00110   11001   25
    7       00111   11000   24
    8       01000   10111   23
    9       01001   10110   22

### 参阅

to_string | 返回数据的字符串表示 (公开成员函数)
to_ullong (C++11) | 返回数据的 unsigned long long 整数表示 (公开成员函数)