问题标签 [std-bitset]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
53 浏览

c++ - 将包含二进制的字符串转换为无符号和有符号整数

我想编写程序(目前我没有任何代码),它应该执行以下操作:

  1. 从包含二进制数的用户字符串中获取,
  2. 将其转换为unsigned intsigned int,
  3. 将结果返回给用户。

如何实施第二个活动?我正在寻找任何帮助。

0 投票
5 回答
262 浏览

c++ - std::bitset::all 替代以前的 C++11 编译器

我想使用std::bitset::all但不幸的是我的编译器早于 C++11。我知道我可以通过循环检查我的所有位是否std::bitset都已设置来模仿该功能。

例如,

问:

是否有std::bitset::all比上面显示的更合适的替代旧 C++11 编译器的实现。

0 投票
1 回答
79 浏览

c++ - 位集声明导致 SIGSEGV

这是查找一些素数的(不完整的)代码。

程序SIGSEGV在声明时崩溃isprime。问题是什么 ?我该如何解决这个问题?

使用 Ubuntu 14.04,g++-4.8.1。

0 投票
3 回答
3545 浏览

c++ - 使用 <32>将 bitset 转换为带符号的 int

我正在阅读在 c++ 中将 bitset 转换为 int的问题,并想,嘿,这行不通,我已经尝试过了。但后来我开始尝试,很快我发现:

给出输出

那么,如何将小于 32 的位集转换为有符号整数?

澄清:我想用构造保留的位集时使用的 10 基值转换回带符号的 int。“将签名的整数存储在位集中”

我已经在 win 7 上使用 gcc 4.6.2、mingw32 进行了尝试,并且使用 c-style cast 获得了相同的结果(int)

0 投票
3 回答
642 浏览

c++ - 以固定长度的二进制打印 int

我正在重载<<以打印自定义对象(在本例中为自定义类的实例Vertex)。作为其中的一部分,我想以二进制打印给定的整数。出于多种原因,我更喜欢使用std::bitset而不是运行 for 循环,但我遇到的问题是我有一个特定的大小,每个二进制文件应该取决于实例。这是片段:

在的地方4,我真的很想放一个size_t依赖V。例如,这是我尝试过的:

错误为“非类型模板参数不是常量表达式”。有没有办法在不对参数进行硬编码的情况下解决这个问题?这不是在编译时会知道的。

0 投票
1 回答
305 浏览

c++ - 使用 std::bitset 或相同大小的基本类型?

我正在创建一个国际象棋求解器并决定使用位板。方便的是,标准棋盘上有 64 个方格。这很好,因为 64 位操作系统的流行,单个位板可以装入单个寄存器。

也就是说,在使用 astd::bitset<64>和其中的函数或“相同”大小的基本类型unsigned long long和手动执行位旋转时是否存在根本差异(大小(内存和代码)、速度、复杂性、内存使用等)?

0 投票
1 回答
5037 浏览

c++ - 为什么是libc++的vector::const_reference 不是布尔值?

第 23.3.7 节类vector<bool>[vector.bool],第 1 段指出:

然而,这个程序在使用 libc++ 时编译失败:

此外,我注意到 C++ 标准在本规范中一直保持一致,直至 C++98。而且我进一步指出,自从首次引入 libc++ 以来,libc++ 一直没有遵循这个规范。

这种不符合的动机是什么?

0 投票
4 回答
1755 浏览

c++ - 更改位集中的整数

如何更改正在使用的整数bitset?假设我曾经bitset声明一个变量mybitset来存储一个数字的位,比如 32。在做了一些操作之后,我想mybitset存储其他数字的位,比如 63。我该如何实现呢?

我在下面添加了一小段示例代码来帮助解释。

我觉得应该有一些简单的方法来做到这一点,但一直找不到任何东西。

0 投票
1 回答
3009 浏览

c++ - Bitset 作为函数的返回值

我想要一个接口,其函数返回一个位集:

问题是我不想强制bitset. 所以我想我必须boost::dynamic_bitset改用:

我听说这boost::dynamic_bitsetstd::bitset虽然慢。有没有其他方法可以避免使用dynamic_bitset并拥有一个返回std::bitset大小由实现者确定的接口?

0 投票
1 回答
226 浏览

c++ - 为什么 C++ 标准为 std::bitset::reference 指定析构函数?

我想知道为什么std::bitset::referencestd::vector<bool>::reference指定一个显式析构函数(不是编译器生成的)。因为,例如,boost::dynamic_bitset::reference似乎没有指定这样的析构函数。