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

参阅

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