std::bitset<N>::to_ullong
来自cppreference.com
| |
(C++11 起) (C++23 起为 constexpr) |
|
转换 bitset 的内容为 unsigned long long 整数。
bitset 的首位对应数值的最低有效位,而尾位对应最高有效位。
参数
(无)
返回值
转换出的整数
异常
若值不能以 unsigned long long 表示则为 std::overflow_error。
示例
运行此代码
#include <bitset>
#include <iostream>
#include <limits>
int main()
{
std::bitset<std::numeric_limits<unsigned long long>::digits> b
(
0x123456789abcdef0LL
);
std::cout << b << " " << std::hex << b.to_ullong() << '\n';
b.flip();
std::cout << b << " " << b.to_ullong() << '\n';
std::bitset<std::numeric_limits<unsigned long long>::digits + 1> q{0};
try
{
(~q).to_ullong(); // 抛出异常
}
catch (const std::overflow_error& ex)
{
std::cout << "ex: " << ex.what() << '\n';
}
}
输出:
0001001000110100010101100111100010011010101111001101111011110000 123456789abcdef0
1110110111001011101010011000011101100101010000110010000100001111 edcba9876543210f
ex: _Base_bitset::_M_do_to_ullong
参阅
| 返回数据的字符串表示 (公开成员函数) | |
返回数据的 unsigned long 整数表示 (公开成员函数) |