std::bitset<N>::to_ullong
来自 cppreference.com
unsigned long long to_ullong() const |
(自 C++11 起) (自 C++23 起为 constexpr) |
|
将 bitset 的内容转换为一个 unsigned long long 整数。
bitset 的第一个比特对应于数字的最低有效位,最后一个比特对应于最高有效位。
内容 |
[编辑] 参数
(无)
[编辑] 返回值
转换后的整数
[编辑] 异常
std::overflow_error 如果该值不能用 unsigned long long 表示。
[编辑] 示例
运行此代码
#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(); // throws } 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 整数表示形式 (公有成员函数) |