设置字节数组中的特定位

2023-12-31

我想知道如何设置 16 字节数组(128 位)中的特定位。

例如...如果我想设置数组中的第 9 位,我期望:

{00, 80, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00}

如果我想设置第 125 位...

{00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 08}

我研究过使用位移位,但对如何对包含 128 位的数组进行位移位感到困惑。有没有办法分解这个大小的数组并以更小的字节块进行评估?任何帮助,将不胜感激。


选择特定位的过程包括两个步骤:

  • 选择字节,然后
  • 挑选一点。

选择字节很简单:您所需要做的就是将位索引除以字节中的位数 - 即除以 8:

int byteIndex = bitIndex / 8;

现在您知道要使用哪个字节,接下来计算您要访问的位。为此,您需要计算除以 8 的余数,如下所示:

int bitInByteIndex = bitIndex % 8;

有了这两个索引,就可以很容易地访问该位:使用1 << bitInByteIndex作为面具,像这样:

byte mask = (byte)(1 << bitInByteIndex);
bool isSet = (bytes[byteIndex] & mask) != 0;
// set to 1
bytes[byteIndex] |= mask;
// Set to zero
bytes[byteIndex] &= ~mask;
// Toggle
bytes[byteIndex] ^= mask;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设置字节数组中的特定位 的相关文章

随机推荐

  • 在 Selenium python 中通过 xpath 模式查找元素

    我正在使用 selenium python 和 lettuce 来测试 django 应用程序 以下模式中有许多具有 xpath 的元素 我不知道文档中存在多少个这些元素 id accordion note 1 id accordion n
  • “查找最近位置”如何运作?

    如今 大多数餐馆和其他企业都拥有 查找地点 http www fedex com Dropoff start 他们网站上的功能列出了给定地址 邮政编码的最近位置 这是如何实现的 将邮政编码与数据库进行匹配是一种简单的 无需思考的方法 但可能
  • C++17 中有 typeid 的反函数吗?

    C 17 是否提供了一种从 typeid 获取类型的方法 或者工厂模式仍然是唯一的方法 type info是运行时值 其确切内容只能通过运行时执行来确定 C 是一种静态类型语言 在编译时 类型一切必须被知道 像这样 type info基于具
  • 通过 spring-data 迭代 MongoDB 中的大型集合

    Friends 我通过 spring data 在 java 项目中使用 MongoDB 我使用存储库接口来访问集合中的数据 对于某些处理 我需要迭代集合的所有元素 我可以使用存储库的 fetchAll 方法 但它总是返回 ArrayLis
  • Mule OAuth2 使用客户端凭证作为 grant_type

    我的要求是使用OAuth2的client credentials grant type来获取Mule中的访问令牌 我想实现一个支持 OAuth 的自定义连接器 我无法使用以下配置来实现它
  • 电脑锁定时如何发送电子邮件?

    我想使用 Excel VBA 发送 Outlook 电子邮件 代码Sendupdate手动运行时有效 我的第二个宏StartTimer旨在当我不在办公桌前时在设定时间执行上述操作 当计算机被锁定时 电子邮件不会发送 当我回到办公桌前时 电子
  • Itext7 HTML2PDF - PDF 文件中的图片未旋转

    我有一个 HTML 文件 其中包含一些旋转的图片 当我将 HTML 文件转换为 PDF 文件时 图片不会旋转 看来 EXIF 0112 没有正确应用 iText Html2Pdf HtmlConverter ConvertToPdf HTM
  • JQuery 字符串包含检查[重复]

    这个问题在这里已经有答案了 我需要检查一个字符串是否包含另一个字符串 var str1 ABCDEFGHIJKLMNOP var str2 DEFG 我应该使用哪个函数来确定 str1 是否包含 str2 你可以使用javascriptin
  • 我可以向另一个域发出 XMLHttpRequest 吗?

    有没有办法将 XMLHttpRequest 与其他域结合使用 我想解析来自 Google 的一些 xml 而无需使用服务器 因此运行起来非常简单 var req getXmlHttpRequestObject req open GET ht
  • Python截断长字符串

    如何在 Python 中将字符串截断为 75 个字符 JavaScript 中是这样完成的 var data saddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
  • Windows 上的 npm 安装失败并出现错误签名错误

    我正在使用 nvm 来管理我的节点版本 我有一个使用节点 6 10 2 的项目 像这样简单的事情npm install g gulp我收到以下错误 write EPROTO 101057795 error 1408D07B SSL rout
  • 如何使用c#打开excel文档

    我用过创建新的电子表格并保存到用户文件夹 我希望保存后能够自动打开它 该文件为 xlsx 格式 I tried SpreadsheetDocument Open fileName true 这根本不起作用 我想要代码在用户拥有的任何版本的
  • Chrome 88 时区符号不正确

    Starting from about 20 01 2021 after the Chrome update to version 88 0 the time zone incorrectly processed in applicatio
  • 根据类型返回一个值

    考虑下面的例子 template
  • Apache Zeppelin 问题 - Python 错误

    我对 Apache Zeppelin 有疑问 当我运行一个新的 python 笔记本并尝试执行类似的命令时import dask它会导致以下错误 Traceback most recent call last File tmp 159931
  • 从 UIImage 获取二进制数据

    我有一个要求 我必须将图像从 ios 设备发送到另一个设备 corebluetooth 其他设备是 BLE 设备 基本需求是 1 图像尺寸应为128X160 2 8 位 即每种颜色 8 位 3 3个通道 4 每像素 24 位 5 图像应有
  • SAML2.0认证后调用Graph api。如何获取所需的身份验证令牌

    我们的 Web aap 通过 SAML2 0 与 Azure AD 进行身份验证 类似于this https learn microsoft com en us azure active directory develop active d
  • 如何在web.xml中注册Spring @Configuration注解的类而不是applicationContext.xml文件?

    我在 Web 应用程序中一起使用 jsf 和 spring 我在一个配置类中配置了数据源和会话工厂 该类使用注释 例如 Configuration ComponentScan etc 我的项目中没有任何 applicationContext
  • 性能计数器与 ETW

    性能计数器是 ETW 的一部分吗 如果不是 两者有什么区别 性能计数器和 ETW 是不同的技术 性能计数器不通过 ETW 公开 基本区别 性能计数器提供有关系统行为的高级指标 例如计时器 读取的字节和分配的对象 而 ETW 是一种诊断跟踪和
  • 设置字节数组中的特定位

    我想知道如何设置 16 字节数组 128 位 中的特定位 例如 如果我想设置数组中的第 9 位 我期望 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 如果我想设置第 125 位 00 00