问题标签 [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 投票
0 回答
48 浏览

c++ - 从位集中修改整数

我一直在通过以下方式使用 bitset:

有没有办法避免使用最后一行并直接影响位集中的值位?

0 投票
1 回答
88 浏览

c++ - 数字序列的最佳数据结构 [0:9]

在 C++ 中可以处理数字序列 [0:9] 且内存浪费最少的最佳数据类型是什么?

我想可能是这样的

但是我认为每个都bitset<4>保留一个字节-与字符相同-,所以它并不比普通字符串好,是吗?

有没有更好的主意来处理这样的事情?

0 投票
1 回答
351 浏览

c++ - 手动位域与 std::bitset 的内存保护

我正在学习位标志并使用按位运算符手动创建位字段。然后我遇到了位集,这似乎是一种更简单、更清洁的存储位字段的方法。我理解使用位字段的价值,以尽量减少内存使用。但是,在测试 sizeof(bitset) 之后,我很难理解这是一种更好的方法。

考虑:

输出是:

mySet 是 8 个字节。位域为 1 个字节。

如果需要最少的内存使用量,我不应该使用 std::bitset 吗?

0 投票
0 回答
161 浏览

c++ - std::bitset 设置函数抛出错误(找不到过程入口点)

我正在使用 learncpp 网站学习 C++,我在 Windows 64 位上,我正在使用带有 C++14 的 GCC。

我尝试在本章的 std::bitset 部分实现示例:http: //www.learncpp.com/cpp-tutorial/3-8a-bit-flags-and-bit-masks/

编译时没有错误,但是当我启动程序时出现此错误:

https://puu.sh/AupYw/d0c7fa01a8.png

这是我的代码:

您必须知道,如果我们删除 set 函数,则不会引发错误。

我认为选项初始化存在问题但无法弄清楚:/

这是错误的(非常不准确的)翻译:“在动态链接库中找不到过程入口点_ZSt24__throw_out_of_range_fmtPKcz”

提前致谢。

0 投票
2 回答
330 浏览

c++ - 将任意大小的大 Base-10 数读入位集中

我想从字符串或标准输入中读取一个 base10 数字到一个位集中。是否有任何 std 函数可以做到这一点,还是我必须自己实现它?

例子:

输入:5

输出:0101

注意:我需要支持任何长度的输入,只要它适合位集

0 投票
0 回答
50 浏览

python - python中是否有任何数据结构可以替代c ++中的bitset?

我用 C++ 编写了这样的代码:

我想要一个 ds 数组,其中每个单元格可以分别存储 3 位计数器和 29 位编码。我想用python写。怎么做?

0 投票
3 回答
669 浏览

c++ - 将 74 位整数转换为基数 31

要生成UFI 编号,我使用bitset大小为 74 的 a。要执行 UFI 生成的第 2 步,我需要转换此数字:

进入:

通过将第一个表示形式转换为基数 31 并从表中获取等效字符。

有没有办法在不使用外部 BigInteger 库的情况下对我的位集执行转换?

编辑BigInteger:即使干杯和hth,我终于完成了一堂课。- Alf的解决方案就像一个魅力

0 投票
2 回答
173 浏览

c++ - 从 C++ 中的位表示初始化字符

我有一条包含唯一 ID 的消息,以及我需要通过 MPI 进程发送的一些信息。为此,我将此消息转换为位数组。

我使用std::bitset类将一条消息转换为位表示。现在,我想用 MPI 将它发送到另一个进程。

我可以使用函数std::bitset::to_string()将每个位转换为字符;但是消息的大小将增加到 sizeof(char)*MSG_SIZE (在我的情况下,MSG_SIZE 等于 256)。

我怎样才能避免这种情况,保持消息的大小等于 256 位?

事实上,我想要这样的情况:

我只想发送一条消息的实际大小:MSG_SIZE = 256 位。不要增加我的消息的大小,因为我将用一个字符(= 32 位)表示每一位。我想代表一点……一点点,而不是一个字符。

谢谢

0 投票
1 回答
598 浏览

c++ - 从 long 转换的 C++ bitset 构造函数的复杂性是多少?

我的猜测是 O(n),其中 n 是否。位。还是它是恒定的?我的意思是它不应该只是能够从内存中复制位吗?

0 投票
2 回答
4437 浏览

c++ - 如何访问位集中的位范围?

我有一个非常大的位集,比如 100 亿位。

我想做的就是把它写到一个文件中。但是使用.to_string()实际上会冻结我的计算机。

我想做的是遍历这些位并一次取 64 位,将其转换为 auint64然后将其写入文件。

但是我不知道如何访问不同范围的位集。我该怎么做?我是 C++ 新手,不知道如何访问底层的 bitset::reference,所以请提供一个示例作为答案。

我尝试使用指针,但没有得到我期望的结果。这是到目前为止我正在尝试的一个示例。

输出

最后一个数字似乎在每次运行时都会发生变化,这不是我所期望的。