问题标签 [bitvector]

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 投票
4 回答
145 浏览

database - 您将如何从数据库中查询 1 和 0 字符的数组?

假设您有一长串 1 或 0 的字符,有点像位向量,但在数据库列上。您将如何查询以了解已设置/未设置哪些值?假设您需要知道 char 500 和 char 1500 是否为“真”。

0 投票
3 回答
16788 浏览

c# - 为什么 BitVector 32 结构比 BitArray 更高效?

BitArray 和 BitVector 32 结构有什么区别,BitVector 32 结构相对于 BitArray 有什么优势?为什么 BitVector 32 结构比 BitArray 更高效?

提前致谢。

杰...

0 投票
4 回答
3309 浏览

c# - BitVector32 的 CreateMask 函数有什么作用?

CreateMask()作用是BitVector32什么?我不明白面具是什么。

想了解以下几行代码。创建掩码是否只是将位设置为真?

这有什么实际应用?

0 投票
7 回答
21572 浏览

python - 如何在 Python 中表示和使用 n 位向量?

在我目前正在处理的一项作业中,我们需要使用位向量,但我非常不确定如何在 Python 中执行此操作。它们应该能够从 4 位到 20 位。我以前从未使用过位向量,但我想有人会创建您使用通常的 AND/OR/XOR 操作操作的无符号字节数组。

这里的重要限制是:除了标准 Python 提供的库之外,我不能依赖任何库。

我想我知道如何在 C 中使用 8 位无符号字节的数组来执行此操作:例如,要将零数组的第 18 位变为 1,我会执行类似 my_bit_array[3] &= 1<<2

但是由于 Python 是动态类型的并且没有内置的数组类型,我将如何以 Python 的方式执行此操作?

是否有可能(如何?)表达一个大小为 20 的位向量?我正在考虑制作一个 24 位/3 字节向量并忽略 4 位。

0 投票
2 回答
1242 浏览

python - 如何在python中实现真正有效的位向量排序

实际上,这是一个来自编程珍珠的有趣话题,使用有效的算法在有限的内存中对 10 位电话号码进行排序。你可以在这里找到整个故事

我感兴趣的是在 python 中实现的速度有多快。我用模块位向量做了一个简单的实现。代码如下:

我在我的 macbook(2GHz Intel Core 2 Duo 2GB SDRAM)中测试了 100 到 10,000,000 的阵列大小,结果如下:


  • test_data 大小为:1000
  • 排序函数需要 0.000274896621704
  • vec_sort 函数需要 0.00383687019348

  • test_data 大小为:10000

  • 排序函数需要 0.00380706787109
  • vec_sort 函数需要 0.0371489524841

  • test_data 大小为:100000

  • 排序函数需要 0.05205​​60741425
  • vec_sort 函数需要 0.374383926392

  • test_data 大小为:1000000

  • 排序函数需要 0.867373943329
  • vec_sort 函数需要 3.80475401878

  • test_data 大小为:10000000

  • 排序函数需要 12.9204008579
  • vec_sort 函数需要 38.8053860664

令我失望的是,即使 test_data 大小为 100,000,000,sort 函数仍然比 vec_sort 快。有什么方法可以加速 vec_sort 功能?

0 投票
7 回答
5760 浏览

java - java:稀疏位向量

Java中是否有任何用于稀疏位向量的知名库?

(是否有关于稀疏使用它们与java.util.BitSet的有用性的指南?)

0 投票
4 回答
13944 浏览

c++ - 向量的按位运算

执行按位运算的最佳方法是vector<bool>什么?

据我了解,vector<bool>是一种每个布尔值使用一位的专业化。我选择vector<bool>了节省内存的原因。我知道有一些问题,vector<bool>但对于我的需要,它是适当的。

现在 - 将按位运算应用于整个此类向量的最高效方法是什么?

如果我在 for 循环中执行它并读出每个布尔值并将其存储回来,我理解它的方式是在内部执行更多操作以访问实际值。

谢谢!

0 投票
4 回答
1215 浏览

perl - PERL中pop函数的位操作等效(删除MSB)

在 Perl 中,是否有一个按位运算符,其作用类似于>>,但删除了最高有效位?有点像>>运算符有点像shift()函数,我正在寻找一个有点像pop().

110110会回来10110

101会回来01

最终,我试图查看二进制形式的数字是否是回文(即 11011、111 或 1010101),因此理想情况下,操作员有办法返回它删除的位。如果操作员不这样做也没关系,因为我可以在数学上这样做,但是为了干净的代码,如果它自动返回 MSB 那就太棒了。对于 LSB,我愿意

0 投票
5 回答
24418 浏览

c++ - C/C++ 位数组或位向量

我正在学习 C/C++ 编程,并且遇到过“位数组”或“位向量”的用法。无法理解他们的目的?这是我的疑问-

  1. 它们被用作布尔标志吗?
  2. 可以改用int数组吗?(当然更多的记忆,但是..)
  3. 位掩码的这个概念是什么?
  4. 如果位掩码是获得适当标志的简单位操作,那么如何为它们编程?与十进制数字相比,在 head 中执行此操作以查看标志是什么不难吗?

我正在寻找应用程序,以便我可以更好地理解。例如 -

:给你一个文件,其中包含范围(1 到 100 万)内的整数。有一些重复,因此缺少一些数字。找到查找缺失数字的最快方法?

对于上述问题,我已经阅读了告诉我使用位数组的解决方案。如何存储每个整数?

0 投票
2 回答
4080 浏览

.net - 什么时候应该使用 BitVector32?

我正在做一个项目,在某个时刻我需要展示一个月哪些日子仍然可用。有一个函数可以计算哪些天可用。我的同事说:“哦,我们知道,你应该返回一个BitVector32。这是处理布尔列表时最有效的方法。” 我会使用一个List<bool>或类似的东西。在我看来,当您实际使用位时, ABitVector32似乎是低级的东西。

所以,问题是。您是否应该BitVector32在需要一些少于 32 个项目的布尔值列表时使用它,还是应该只将它用于低级别的东西?