问题标签 [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.
database - 您将如何从数据库中查询 1 和 0 字符的数组?
假设您有一长串 1 或 0 的字符,有点像位向量,但在数据库列上。您将如何查询以了解已设置/未设置哪些值?假设您需要知道 char 500 和 char 1500 是否为“真”。
c# - 为什么 BitVector 32 结构比 BitArray 更高效?
BitArray 和 BitVector 32 结构有什么区别,BitVector 32 结构相对于 BitArray 有什么优势?为什么 BitVector 32 结构比 BitArray 更高效?
提前致谢。
杰...
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 位。
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.0520560741425
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 功能?
java - java:稀疏位向量
Java中是否有任何用于稀疏位向量的知名库?
(是否有关于稀疏使用它们与java.util.BitSet的有用性的指南?)
c++ - 向量的按位运算
执行按位运算的最佳方法是vector<bool>
什么?
据我了解,vector<bool>
是一种每个布尔值使用一位的专业化。我选择vector<bool>
了节省内存的原因。我知道有一些问题,vector<bool>
但对于我的需要,它是适当的。
现在 - 将按位运算应用于整个此类向量的最高效方法是什么?
如果我在 for 循环中执行它并读出每个布尔值并将其存储回来,我理解它的方式是在内部执行更多操作以访问实际值。
谢谢!
perl - PERL中pop函数的位操作等效(删除MSB)
在 Perl 中,是否有一个按位运算符,其作用类似于>>
,但删除了最高有效位?有点像>>
运算符有点像shift()
函数,我正在寻找一个有点像pop()
.
110110
会回来10110
101
会回来01
最终,我试图查看二进制形式的数字是否是回文(即 11011、111 或 1010101),因此理想情况下,操作员有办法返回它删除的位。如果操作员不这样做也没关系,因为我可以在数学上这样做,但是为了干净的代码,如果它自动返回 MSB 那就太棒了。对于 LSB,我愿意
c++ - C/C++ 位数组或位向量
我正在学习 C/C++ 编程,并且遇到过“位数组”或“位向量”的用法。无法理解他们的目的?这是我的疑问-
- 它们被用作布尔标志吗?
- 可以改用
int
数组吗?(当然更多的记忆,但是..) - 位掩码的这个概念是什么?
- 如果位掩码是获得适当标志的简单位操作,那么如何为它们编程?与十进制数字相比,在 head 中执行此操作以查看标志是什么不难吗?
我正在寻找应用程序,以便我可以更好地理解。例如 -
问:给你一个文件,其中包含范围(1 到 100 万)内的整数。有一些重复,因此缺少一些数字。找到查找缺失数字的最快方法?
对于上述问题,我已经阅读了告诉我使用位数组的解决方案。如何存储每个整数?
.net - 什么时候应该使用 BitVector32?
我正在做一个项目,在某个时刻我需要展示一个月哪些日子仍然可用。有一个函数可以计算哪些天可用。我的同事说:“哦,我们知道,你应该返回一个BitVector32
。这是处理布尔列表时最有效的方法。” 我会使用一个List<bool>
或类似的东西。在我看来,当您实际使用位时, ABitVector32
似乎是低级的东西。
所以,问题是。您是否应该BitVector32
在需要一些少于 32 个项目的布尔值列表时使用它,还是应该只将它用于低级别的东西?