c++ - 将任意大小的大 Base-10 数读入位集中
问题描述
我想从字符串或标准输入中读取一个 base10 数字到一个位集中。是否有任何 std 函数可以做到这一点,还是我必须自己实现它?
例子:
bitset<4> buffer;
cin >> buffer;
cout << buffer;
输入:5
输出:0101
注意:我需要支持任何长度的输入,只要它适合位集
解决方案
您可以简单地使用std::bitset
构造函数:
bitset( unsigned long val );
请注意,如果您没有提供足够的位,结果将保留最低有效 N 位。
例如
std::bitset<2> set(5);
std::cout << set << std::endl;
01(而不是 101)
推荐阅读
- typescript - Ngxs 存储快照与选择快照
- python - python - matplotlib:无论年份如何,我如何制作 x 轴月份?
- c# - 如何删除字符串中的零
- angular - Textbook[ ] 设置为订阅 Observable 后未定义
- java - 非网页 Spring Boot 应用中的 FeignClient 配置
- javascript - 我怎样才能使
- arrays - Swift count each array based on conditional date range
- javascript - Component does not rerender in react when changing tab item
- reactjs - Checkbox didn't get unchecked once set it to checked in React
- json - 大型嵌套 JSON DICT SignalR 字典到 Typescript