问题标签 [bitarray]

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 回答
306 浏览

php - 如何获取位数组中所有设置位的偏移量?

在 C、Ruby 或 PHP 中,如何获取位数组中所有设置位的偏移量。例如:

最明显的解决方案是首先做一个反向的 Find first set 以了解长度,然后遍历位,保存偏移量/索引。然而,这似乎不是很聪明。像 FFSR 这样多次减法可能会更好。

0 投票
1 回答
1398 浏览

objective-c - 如何创建位数组目标 C

我想为数组中的项目创建一个位数组或位向量,以便我可以创建一个二进制指纹来与对象的指纹进行比较。

这是一个例子:

基本指纹......所有“可用”颜色

  1. colorsArray[蓝、红、白、绿、橙];

  2. 把它变成一个二进制数组(或其他)

  3. 这是结果 = masterPrint[1,1,1,1,1];

  4. 现在我有一个单独的对象,其中包含红色和蓝色 (object[red,blue])

  5. 这个对象的指纹是对象的 print = [1,1,0,0,0];

  6. 比较两个打印,主打印[1,1,1,1,1]和对象打印[1,1,0,0,0];

  7. 结果是两场比赛 40%

我怎样才能做到这一点?谢谢

0 投票
1 回答
776 浏览

c - 使用位数组筛选 Eratosthenes

我有prime[]一些unsigned int. 我希望使用这个数组来实现一个埃拉托色尼筛,让每个位代表一个数字n。也就是说,在给定的情况下n,包含对应的位的数组元素n将是prime[n/32],并且特定位将在位置n%32

testBitIs0(int n)当数字为素数时(如果它的位 == 0), 我的函数返回 1,否则返回 0:

我的setBit(int n)函数只是将相应位置的位设置为 1:

我遇到的问题是,当我setBit使用多个素数调用时,我认为它设置的位不正确。下次运行此行时,当我setBit使用质数的倍数(例如数字 2 的 4、6、8 等)调用时:

i = 4/6/8/etc它应该返回 0 时它仍然会返回 1。
有人可以检查我的代码以确保我正确地实现它吗?谢谢。

0 投票
2 回答
4900 浏览

c# - 将 2 个数字组合成一个字节

我有两个数字(从 0 到 9),我想将它们组合成 1 个字节。数字 1 将占用位 0-3,数字 2 占用位 4-7。

示例:我有数字 3 和 4。3
= 0011 和 4 是 0100。
结果应该是 0011 0100。

如何用这些二进制值创建一个字节?

这是我目前拥有的:

使用此代码,我有 ArgumentOutOfBoundsExceptions

0 投票
4 回答
31658 浏览

c# - C# 中的 BitArray 是否比使用按位移位的简单结合更快地获取位值?

1)。var bitValue = (byteValue & (1 << bitNumber)) != 0;

2)。使用方法System.Collections.BitArray_Get(int index)

  • 什么更快?
  • 在 .NET 项目的哪些情况下,BitArray可能比与按位移位的简单结合更有用?
0 投票
2 回答
2103 浏览

c - Eratosthenes 位阵列筛

我正在尝试使用带有位数组的 Eratosthenes 筛来查找素数,但我使用的是无符号整数数组。我需要能够生成多达 2,147,483,647 个素数。我的代码可以工作并且可以生成大约 10,000,000,但是当我增加数组的大小以容纳更大的数字时,它会失败。有人可以指导我如何将位向量与 c(不是 c++)一起使用。谢谢

这是我的代码:

0 投票
1 回答
5099 浏览

android - 如何将android数据库中的照片保存为blob

我正在尝试将照片保存为 SQLite 中的 blob(不仅仅是引用它)。mCurrentMediaPath 是将存储照片的当前路径。现在,我需要在拍摄照片并按下保存按钮后将其保存到数据库中(我猜是在意图之后)。

我应该在哪里实现插入?

0 投票
1 回答
207 浏览

python - 使用位数组创建类似对象的列表

我需要在 Python 中跟踪一组可能有 1000 万个数字。(所有数字都在 0 到 2^32 之间)。我会事先知道整数的最大值,并且在 0 和最大值之间,20-80% 的值将在集合中。

我当前的代码使用内置的set. 这种方式太慢了。就性能而言,最好的方法是使用 bitarray(例如https://pypi.python.org/pypi/bitarray/)。

我很容易使用 bitarray 来构建一个带有add(n)remove(n)方法的类。我不知道该怎么做是支持for n in bitarray_set:。我想我需要使用迭代器或可迭代的,但我不知道该怎么做。这可能吗?如何?

0 投票
1 回答
1081 浏览

python - 将 numpy.bool 数组写入压缩文件?

我正在使用 numpy 和 Python 2.7 来计算超大质数筛的大型(1 亿+元素)布尔数组,并将它们写入二进制文件以供稍后读取。NumPy bools 是 8 位的,所以我写的文件大小比需要的大得多。由于我正在编写大量这些文件,因此我希望它们尽可能小,而不必浪费大量时间/内存将它们转换为位数组并返回。

我原本打算改用 bitarray 模块来减小文件大小,但是使用相同的算法,筛子计算时间增加了大约 400%,这有点不可接受。是否有一种快速的方法可以在较小的文件中写入和读取 ndarray,或者这是我必须处理的权衡?

0 投票
1 回答
463 浏览

c - 位数组的使用方法

我为类写了一些代码来查找素数。

老师说我需要按照以下要求修改我的代码:

  1. 使用位数组存储质数检查。位数组也将在堆中。
  2. 使用无符号 32 位整数 (UINT_MAX) 的最大值作为要检查的素数的最大大小。

我不想要一个完整的答案,因为这是我的作业。

但是,有人可以提供一些提示来帮助我入门吗?

我是 C 的新手,所以我很难弄清楚如何解决它。