将 system.collections.bitarray 划分为每个 32 位的子位数组

2023-12-10

我在网上搜索过但没有得到我需要的东西。 我有一个大小为 15,936 的位数组。我需要将此位数组划分为位数组列表,每个位数组有 32 位(15936/32 = 498 位数组列表)。

无法准确找到如何划分位数组。请帮忙。

Thanks,


第一个您想要 32 位值的操作非常简单,因为您可以将其复制到int[],然后创建一个BitArray per int,通过创建单个元素来传递数据int array:

int[] values = new int[bigBitArray.Length / 32];
bigBitArray.CopyTo(values, 0);
var smallBitArrays = values.Select(v => new BitArray(new[] { v })).ToList();

或者更有效地重复使用相同的int[]对于每次迭代:

int[] values = new int[bigBitArray.Length / 32];
bigBitArray.CopyTo(values, 0);
// Reuse this on every iteration, to avoid creating more arrays than we need.
// Somewhat ugly, but more efficient.
int[] buffer = new int[1];
var smallBitArrays = values.Select(v =>
{ 
    buffer[0] = v; 
    return new BitArray(buffer))
}).ToList();

如果这些给你的位数组的顺序与你期望的相反,只需调用Array.Reverse(values)之后CopyTo call.

遗憾的是BitArray没有采用现有数组、偏移量和计数的构造函数...这将使其效率显着提高。 (当然,就像“切片复制”操作一样。)

更通用的选项是为“切片复制”部分精确创建一个扩展方法:

public static BitArray CopySlice(this BitArray source, int offset, int length)
{
    // Urgh: no CopyTo which only copies part of the BitArray
    BitArray ret = new BitArray(length);
    for (int i = 0; i < length; i++)
    {
         ret[i] = source[offset + i];
    }
    return ret;
}

Then:

var smallBitArrays = Enumerable
    .Range(0, bigBitArray.Length / 32)
    .Select(offset => bigBitArray.CopySlice(offset * 32, 32))
    .ToList();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 system.collections.bitarray 划分为每个 32 位的子位数组 的相关文章

  • 在 C 中使用相等运算符 == 比较两个字符串是否相等 [重复]

    这个问题在这里已经有答案了 int main int argc argv if argv 1 hello printf True n else printf False n myProg hello False 为什么 我意识到strcmp
  • 在 C 中使用模板函数的最短示例?

    我如何处理函数echo tpl可以采取1类型参数int or string 然后打印出来 C没有模板 我认为你能做的最好的事情就是使用联合或让函数具有不同的名称 后一种具有不同名称的方法是准标准方法 例如fabs fabsf fabsl a
  • 使用 C# 将文件列表从 ftp 下载到本地文件夹? [复制]

    这个问题在这里已经有答案了 我希望将 ftp 中的所有文件下载到本地文件夹 下载到本地驱动器后 所有文件都应在 ftp 中删除 从下面的代码 我只能从 ftp 下载一个我不期望的文件 我需要将所有文件放在一个文件夹中 但不放在本地文件名的名
  • C++ 局部变量销毁顺序

    C 11 中是否存在局部变量释放的定义顺序 更简洁地说 同一作用域中两个局部变量的析构函数的副作用将以什么顺序变得可见 e g struct X X do something int main X x1 X x2 return 0 Is x
  • 即使指定了标头,g++ 也找不到标头

    所以基本上我有一些非常简单的代码 其中包括
  • 编译器错误? g++ 允许可变大小的静态数组,除非函数是模板化的

    下面的代码演示了我无法解释的 gcc 4 6 2 的行为 第一个函数声明一个 vec t 类型的静态数组 其中 vec t 是 unsigned char 的 typedef 别名 第二个函数是相同的 只是 vect t 的类型是模板参数
  • C++ 中的结构填充

    如果我有一个struct在 C 中 有没有办法安全地将其读 写到跨平台 编译器兼容的文件中 因为如果我理解正确的话 每个编译器都会根据目标平台进行不同的 填充 不 那是不可能的 这是因为C 在二进制层面缺乏标准化 Don Box http
  • Linux 相当于 GetCommandLine 和 CommandLineToArgv?

    我想知道是否有一些 API 可以在 Linux 上获取当前进程的命令行参数 我想我是非常不清楚的 该问题的真正目的是通过命令行参数传递 unicode 文件名 从文件中读取 proc self cmdline 例如 wallyk zf od
  • 在 Silverlight 中调用 WCF 服务时使用 Observable.FromEvent

    我正在尝试使用 NET Reactive Framework 来简化对我正在编写的 Silverlight 3 应用程序使用的 WCF 服务的一些异步调用 问题是我很难找到一种有效的方式来构建我的代码 毫无疑问 部分问题是了解 Reacti
  • 像 MS Excel 一样在 C++ 中舍入双精度值

    我在网上进行了搜索 但找不到解决我的问题的方法 我只是想要一个像 MS Excel 那样对双精度值进行舍入的函数 这是我的代码 include
  • 查询 XmlDocument 而不会出现“命名空间前缀未定义”问题

    我有一个 Xml 文档 它定义并引用了一些命名空间 我将其加载到 XmlDocument 对象中 据我所知 我创建了一个 XmlNamespaceManager 对象 用于查询 Xpath 问题是我收到命名空间 my 未定义的 XPath
  • .NET 中的字符串格式:将整数转换为固定宽度字符串?

    我在 NET C 中有一个 int 我想将其转换为特定格式的字符串 如果值为 1 我希望字符串为 001 10 010 116 116 etc 我正在寻找字符串格式 但到目前为止没有成功 我的值也不会超过 999 最简单的方法是使用 NET
  • Doxygen 支持 C++11 模板别名(“using”语法)吗?

    我正在使用 doxygen 1 7 1 为一些 C 11 代码生成文档 它似乎忽略了我的模板别名 为了清楚起见 下面是模板别名的示例 template
  • 传递给 WCF 服务的可选查询字符串参数

    我想知道如何使用 string limit WebOperationContext Current IncomingRequest UriTemplateMatch QueryParameters Limit 在我的wcf中这个方法 Cit
  • 如何隐藏鼠标光标?

    我想问是否有人可以为我提供一个 C 代码 在其中我可以在按下特定键时隐藏 显示鼠标指针 我发现一些只为 TURBO C 编写的代码 它们都不能使用 dev c 甚至 Visual c 编译和运行 我尝试运行在 Dev C 中找到的代码 但我
  • 如何在控制台应用程序中创建事件循环/消息管道?

    我想创建一个注册了一些事件的控制台应用程序 问题是这些事件永远不会被触发 在这种特殊情况下Windows 窗体 http en wikipedia org wiki Windows Forms我应该调用的应用程序Application Ru
  • C# 固定长度的字符串对象

    我有一堂课 我想使用固定大小的字符串 固定大小的原因是该类 序列化 为文本文件 具有固定长度的值 我想避免为每个值编写一个保护子句 而是让类处理它 所以我有大约 30 个属性 看起来像这样 public String CompanyNumb
  • 用于 DSP 的快速 2D 卷积

    我想实现一些图像处理算法 这些算法旨在运行在小猎犬板 http en wikipedia org wiki Beagle Board 这些算法广泛使用卷积 我正在尝试为 2D 卷积找到一个好的 C 实现 可能使用快速傅里叶变换 我还希望该算
  • 将用户控件绑定到 bool 属性的相反值

    非常简单 我想做同样的事情this https stackoverflow com questions 534575 how do i invert booleantovisibilityconverter但在winforms中 谷歌似乎提
  • 定义应保存 user.config 文件的自定义路径?

    如果我重命名我编译的应用程序 例如myapp exe to app exe然后 当我运行重命名的可执行文件时 会在此路径中生成新的用户设置文件夹 C Users User AppData Local CompanyName Executab

随机推荐

  • 在 64 位 Windows 上安装 lxml

    所以我试图在我的机器上安装 lxml 但我似乎无法让它工作 我有 Windows 8 1 64 位和 python 3 5 我都用过 pip install lxml and easy install lxml 我不断收到此错误消息 C U
  • PyAudio 输入溢出 -9981 - 没有解决方案工作

    请不要将此问题报告为重复 因为没有一个可用的解决方案适合我 我测试了所有这些 所以 我正在尝试在我的 RaspberryPi B 型板上运行 PyAudio 示例录音程序 这是我收到的错误 Traceback most recent cal
  • 如何从仅标头库构建静态库

    我正在尝试构建项目的静态库stb 所以我可以将它链接到另一个项目 不是用 C C 编写的 我已经创建了 CMakeLists txt 文件来使用 CMake 构建它 但是构建的静态库文件是空的 我怀疑这是因为机顶盒似乎是仅标头图书馆 我尝试
  • 将函数应用于 DataFrame 中的每个单元格,该单元格取决于 pandas 中的列名称

    如何将函数应用于 DataFrame 中取决于列名称的每个单元格 我知道pandas DataFrame applymap但它似乎不允许依赖于列名称 import numpy as np import pandas as pd np ran
  • ggplot2 中稳健的标准错误

    我想用 ggplot2 绘制一个模型 我估计了一个稳健的方差 协方差矩阵 我想在估计置信区间时使用它 我可以告诉 ggplot2 使用我的 VCOV 或者 我可以以某种方式强制 Predict lm 使用我的 VCOV 矩阵吗 一个虚拟示例
  • 查找多个字符串匹配的算法

    我正在寻找一种有效算法的建议 用于在大量文本中查找所有匹配项 要搜索的术语将包含在列表中 并且可以有 1000 多种可能性 搜索词可以是 1 个或多个单词 显然 我可以多次遍历文本并与每个搜索词进行比较 效率不太高 我考虑过对搜索词进行排序
  • Rails 3.1 中的图像 - 转向生产

    我的文章有图片 我将图像放在 app assests images 中 并将它们的位置存储在数据库的字段中 然后我可以使用以下方式显示它们 但是当我转移到生产服务器时 我的图像都没有显示 服务器正在寻找 asset blank d5dd6e
  • 将文本添加到 grid.table 图中

    我最近开始使用grid table函数从gridExtra包将表格数据转换为 png 图像文件以在网络上使用 到目前为止 我对它很满意 因为它默认产生非常漂亮的输出 有点像ggplot2对于桌子 就像那个人asked对于这个问题 我希望看到
  • PHP URL 编码保留无效的 url 字符

    我需要将 url 无效字符替换为 url 有效字符 然后再次将其转换回来 这是一个带有类似 url 的搜索页面http my site search this is a search 搜索表单 POSTS 然后用户重定向到新的 url Ph
  • 从 IIS 部署恢复 ASP.NET 项目

    我是 ASP NET Web 开发的真正新手 具有 Java 背景 一位朋友有一个在 IIS 上运行的 ASP NET 3 0 部署 他找不到在 Visual Studio 2008 中创建的原始项目文件 并请求我帮助他 是否可以从 IIS
  • 我应该如何处理 WP7 的 Bing 地图控件中图钉上的单击事件

    我要添加模板
  • MPMoviePlayerController 在后台播放音频流

    当应用程序进入后台时 我在播放音频流时遇到麻烦 我使用代码来启动流 NSURL mediaURL NSURL URLWithString http url to my stream MPMoviePlayerController mp MP
  • 可靠地重定向到 symfony2 中上次访问的页面

    我将 FosUserBundle 登录嵌入到我的主页中 我已经覆盖了 fos 的安全控制器并更改了 renderLogin 操作 我必须放置一个if使用以下条件重定向到上次访问的页面referers that was一切都很好 但我现在意识
  • EF6 不延迟加载导航属性

    我遇到了 EF6 延迟加载问题 我搜索了 StackOverflow 但我发现的其他问题不适合我的情况 我正在使用virtual关键字和我的课程是public LazyLoadingEnabled and ProxyCreationEnab
  • 计算校验和时出现问题:将 int 转换为signed int32

    我需要将以下 c 代码 计算文件的校验和 转换为 python 我已经用python编写了相应的代码 但结果与c版本不匹配 问题在于 只要发生溢出 Python 就会自动将 int 提升为 long 这会导致错误的校验和 知道如何克服这个问
  • 水晶报告中的线程被中止异常

    将报告导出为 PDF 时 我们收到 线程正在中止 异常 我们使用以下代码将报告导出为 PDF Response Buffer true Response ClearContent Response ClearHeaders Response
  • 如何正确使用AES_ENCRYPT?

    我正在尝试使用 AES 加密 AES 加密在 MySQL 中 用于用户密码 但我遇到了一堆不同的问题 这是我用来将新用户存储到数据库中的 SQL 查询 INSERT INTO user VALUES 15 John Doe 123 Fake
  • Python Mysql TypeError:“NoneType”对象不可下标

    conn MySQLdb connect host localhost user root passwd xxxx db xxxxx cursor conn cursor cursor execute SELECT FROM pin WHE
  • 如何制作一个图像按钮,当鼠标悬停在按钮WPF上时改变图像?

    我正在尝试制作一个图像按钮 当鼠标悬停在按钮上时会更改图像 我尝试了一些方法 这是我尝试的最后一件事 但它不起作用
  • 将 system.collections.bitarray 划分为每个 32 位的子位数组

    我在网上搜索过但没有得到我需要的东西 我有一个大小为 15 936 的位数组 我需要将此位数组划分为位数组列表 每个位数组有 32 位 15936 32 498 位数组列表 无法准确找到如何划分位数组 请帮忙 Thanks 第一个您想要 3