如何读取无符号整型的特定位

2023-12-05

我有一个 uint8_t,我需要读/写特定位。我将如何去做这件事。具体来说,我的意思是,我需要写入一个值的前 7 位,然后读取另一个值的最后一位。

编辑:忘记指定,我将把它们设置为大端


您正在寻找位掩码。学习如何使用 C 的按位运算符:~, |, &, ^等等都会有很大的帮助,我建议你查一下。

否则——想读出最低有效位吗?

uint8_t i = 0x03;

uint8_t j = i & 1; // j is now 1, since i is odd (LSB set)

并设置它?

uint8_t i = 0x02;
uint8_t j = 0x01;

i |= (j & 1); // get LSB only of j; i is now 0x03

想要将 i 的 7 个最高有效位设置为 j 的 7 个最高有效位?

uint8_t j = 24; // or whatever value
uint8_t i = j & ~(1); // in other words, the inverse of 1, or all bits but 1 set

想读出 i 的这些位吗?

i & ~(1);

想要读取 i 的第 N 位(从零开始索引,其中 0 是 LSB)吗?

i & (1 << N);

并设置它?

i |= (1 << N); // or-equals; no effect if bit is already set

当您学习 C 语言时,这些技巧将会非常有用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何读取无符号整型的特定位 的相关文章

  • 为什么迭代器类型推导失败? [复制]

    这个问题在这里已经有答案了 为什么这在 C 中不起作用 为什么我不能限制foo的参数为std vector
  • 如何将 mat 转换为 array2d

    我为dlib http dlib net face landmark detection ex cpp html那里的面部地标代码使用 array2d 来获取图像 但我喜欢使用 Mat 读取图像并转换为 array2d 因为 dlib 仅支
  • 如何使用 libclang 判断成员函数是 const 还是 volatile?

    我有一个实例CXCursor同类CXCursor CXXMethod 我想知道这个函数是否是const or volatile 例如 class Foo public void bar const void baz volatile voi
  • 如何在 C# 中创建 PKCS12 .p12 文件?

    这可能是一个n00b问题 但我在这方面确实没有任何经验 我需要创建一个包含 X509 证书和私钥的 p12 捆绑包 我当前有两个对象 X509Certificate2 和包含关键信息的 RSAParameters 对象 如何将它们合并到 p
  • Xcode 新手无法用 C++ 打开文件?

    我一直在我参加的课程中使用 Windows 但我正在尝试运行基本代码来弄清楚如何从 Xcode 上的文件打开 关闭 输入 输出 而我通常在 Visual Studio 上使用的代码不是不知道为什么 谢谢 include
  • 如何检查给定调用站点的重载决策集

    如何检查重载解析集 我在多个调用站点中使用了 4 个相互竞争的函数 在一个调用站点中 我期望调用一个函数 但编译器会选择另一个函数 我不知道为什么 这不是微不足道的 为了了解发生了什么 我正在使用enable if disable if打开
  • WPF ComboBox 中具有本地化名称的枚举

    我有一个列出枚举的组合框 enum StatusEnum Open 1 Closed 2 InProgress 3
  • Moq - 是否可以在不使用 It.IsAny 的情况下设置模拟

    我一直使用 Moq 进行单元测试 有时我会嘲笑有很多参数的方法 想象一下这样的方法 public class WorkClient public void DoSomething string itemName int itemCount
  • 哪个更快?按引用传递与按值传递 C++

    我认为按引用传递应该比按值传递更快 因为计算机不复制数据 它只是指向数据的地址 但是 请考虑以下 C 代码 include
  • 多个包含带有变量定义的头文件

    我只是构建一个简单的 C 项目 代码如下所示 head h ifndef HEAD H define HEAD H int my var 100 endif src1 cpp include head h src2 cpp include
  • 我应该使用 Helgrind 还是 DRD 进行线程错误检测?

    好像Valgrind http valgrind org docs manual manual html有两个工具都可以进行线程错误检测 Helgrind http valgrind org docs manual hg manual ht
  • PowerShell 与 MongoDB C# 驱动程序方法不兼容?

    由 C 泛型引起的最新 MongoDB 驱动程序的问题 Cannot find an overload for GetCollection and the argument count 1 我可能可以使用其他没有泛型的 GetCollect
  • C# 从今天起 30 天

    我需要我的应用程序从今天起 30 天后过期 我会将当前日期存储在应用程序配置中 如何检查应用程序是否已过期 我不介意用户是否将时钟调回来并且应用程序可以正常工作 用户太愚蠢而不会这样做 if appmode Trial string dat
  • 如何在RcppParallel中调用用户定义的函数?

    受到文章的启发http gallery rcpp org articles parallel distance matrix http gallery rcpp org articles parallel distance matrix 我
  • 提升shared_from_this<>()

    有人可以用几句话概括一下如何提升shared from this lt gt 应该使用智能指针 特别是从使用绑定函数在 io service 中注册处理程序的角度来看 编辑 一些回复要求提供更多背景信息 基本上 我正在寻找 陷阱 即人们使用
  • SQL Server CE 不兼容的数据库版本

    我有一个 SQL Server CE 4 0 数据库 sdf文件 当我尝试从我的应用程序 WPF 对数据库进行查询时 出现以下错误 数据库版本不兼容 如果这是兼容文件 请运行修复 其他情况请参考文档 数据库版本 4000000 请求的版本
  • 查找文本文件中每行的行大小

    如何计算每行中的字符或数字数量 是否有类似 EOF 的东西更像是行尾 您可以遍历行中的每个字符并不断增加计数器直到行尾 n 遇到 确保以文本模式打开文件 r 而不是二进制模式 rb 否则流不会自动将不同平台的行结束序列转换为 n 人物 这是
  • 如何在c#中获取斐波那契数

    伙计们 我有一个关于斐波那契的问题 如何获得斐波那契数列 该数字也将以用户输入结束 例如 如果我输入 21 则输出必须为 0 1 1 2 3 5 8 13 21 这是我的代码 static void Main string args int
  • 在地图上使用 find

    如何使用 find 和 aconst iterator如果你有一个地图定义为 typedef std pair
  • 使用 ImageResizer 获取图像尺寸的最佳方法

    我正在将现有的 MVC 4 网站从自制用户文件上传切换为在上传时使用 ImageResizer 调整文件大小 我在文档中看到我不应该使用 System Drawing 但我无法找出任何其他获取图像尺寸的方法 尺寸是来自原始图像还是调整大小的

随机推荐

  • 获取所选列的索引(DataTables + ColVis)

    我正在使用 jQuery 插件 DataTables ColVis 来显示表格 我必须得到一个数组用户选择显示的列的索引 此信息将用于创建可自定义的导出表 例如 用户选择仅显示表中的浏览器和平台here 我需要获得 1 2 有任何想法吗 编
  • 算法复杂度 时间

    我目前无法识别和理解以下算法的复杂时间 背景 有一个文件列表 每个文件包含一个候选 ID 列表 文件的数量和其中的候选人数量都是不固定的 您如何计算负责以下任务的算法的时间复杂度 读取每个文件并将所有唯一的候选 ID 添加到哈希集中 Tha
  • 如何检查iOS版本是否可用字体?

    我目前正在开发一个使用 ChalkboardSE Regular 字体的应用程序 我的部署目标是 4 0 该字体在 4 1 中不可用 但在 4 3 中受支持 检查字体是否存在的最佳方法是什么 如果不存在 请在 提前致谢 T UIFont f
  • Spring Data Rest:如何从存储库公开 json 模式 (2.0.0.M1)

    我在源代码中看到 Spring DATA Rest 可以通过以下 URL 为存储库公开 Json 架构 repository schema 有谁知道如何配置这个吗 有 RepositorySchemaController org sprin
  • Codeigniter 2.1.2 和 Facebook-PHP-SDK 3.1.1

    我正在通过 Codeigniter 2 1 2 和 Facebook PHP SDK 3 1 1 开发一个简单的身份验证 但我不知道为什么它现在可以工作 我已将 src 文件夹 https github com facebook faceb
  • 什么时候结构体太大? [复制]

    这个问题在这里已经有答案了 可能的重复 C 中的结构与类 抱歉 如果这是一个开放式问题 但我只想知道我的结构是否太大 我想使用结构体的原因是因为我知道它们比类更快 我认为我真的需要这种速度 我发现如果你的结构太大 它实际上会减慢你的程序 所
  • 我的网页忽略 CSS 文件中的更改

    无论我在 css 文件中进行什么更改 页面都保持不变 而且 无论是更改链接标记以使其指向另一个 css 文件还是完全删除它都没有什么区别 应用 html 代码中的其他更改 网页的源代码显示了应有的一切 当我将链接标签从前一个文件重定向到我现
  • Azure 函数无法正常工作“无法在脚本代码中声明命名空间”

    我是一名 Java 微服务人员 对 NET 不太感兴趣 在 StackOverflow 社区的帮助下 我能够为我的问题获得工作代码 该代码在本地完美运行 但是当我尝试将其作为函数移动到 Azure 时 我收到错误 请指导 Code 本地工作
  • 在 R 中按降序排列带有“null”的条形图的条形

    我想创建一个带有降序条形的条形图 在下面的图中 由于 NA 出现在 a1 向量的第二个位置 所以在创建图时它被推到最后 但是 我希望 NA 条仅出现在第二个位置 请在此帮助我 因为我想在不修改数据的情况下实现此目的 library ggpl
  • 由于 PIC,无法从程序集中的 x86-64 对象链接共享库

    我正在将共享库从 32 位移植到 64 位 它由一些导出多个过程的程序集 为 NASM 编写 和一些高级 C 粘合代码组成 我正在使用 NASM 2 10 01 和 GNU ld 2 22 的 64 位 Debian 机器上进行构建 解决了
  • (Quicksight) 如何仅对唯一字段中的值求和

    我的数据集有一个 Invoice No 字段 我想对其成本进行求和 所有发票号码都是唯一的并且具有one成本价值 但是 由于每个 Invoice No 中有多个 Part No 字段 Quicksight 会将这一成本乘以每张发票中的零件编
  • 通过 JavaScript 隐藏来自 Google 的链接

    我们有一些想要向 Google 隐藏的链接 使用 Javascript 来 隐藏 链接 但让它为真正的客户工作 SEO 机构告诉我 最好的方法是对链接进行 Base64 编码并通过 javascript 调用它 a href Link a
  • 可以对两个可能的表之一创建 MySQL 外键吗?

    好吧 这是我的问题 我有三张桌子 地区 国家 州 国家可以在区域内 州也可以在区域内 区域是食物链的顶端 现在我添加一个包含两列的popular areas 表 region id 和popular place id 是否可以使popula
  • 通过相机使用动态坐标捕获图像

    我正在制作一个基于相机的应用程序 我在相机上放置了一个矩形视图 当我使用捕获图像时new Camera PictureCallback 我裁剪了该图像 以便它将获得矩形的一部分 嗯 它工作正常 现在我实施了View OnTouchListe
  • Laravel - 三个模型的数据透视表 - 如何插入相关模型?

    我有三个具有多对多关系的模型 User Activity Product 桌子看起来像id name 每个模型中都有函数 例如在用户模型中 public function activities return this gt belongsT
  • 使用 fetch 进行 WebAudio 流式传输:DOMException:无法解码音频数据

    我正在尝试使用 Chrome 51 播放来自 fetch API 的无限流 网络摄像头音频流为 Microsoft PCM 16 位 单声道 11025 Hz 该代码对于 mp3 文件几乎可以正常工作 除了一些小故障 但它对于 wav 文件
  • Java Set 获取重复条目

    JavaDoc 将集合定义为 不包含重复元素的集合 更正式地说 设置 不包含使得 e1 equals e2 的元素对 e1 和 e2 为了验证这一点 我创建了一个非常简单的程序 import java util HashSet public
  • 使用 CCHmac() 生成 HMAC swift sdk8.3

    在 SDK8 3 之前 我是通过这种方式生成 hmac 的 现在我在 CCHmac 函数上遇到错误 由于我是初学者 我不知道如何解决它 在此先感谢您的帮助 xcode 警告 无法使用类型为 UInt32 CChar UInt CChar U
  • 从 OBJ 文件导入时如何在 glTexCoordPointer 中设置/计算纹理缓冲区

    我正在 Android 中解析 OBJ 文件 我的目标是渲染和显示该对象 除了正确的纹理映射之外 一切都工作正常 将资源 图像导入 opengl 等工作正常 我不知道如何将 obj 文件中的纹理相关数据填充到纹理缓冲区对象中 在 OBJ 文
  • 如何读取无符号整型的特定位

    我有一个 uint8 t 我需要读 写特定位 我将如何去做这件事 具体来说 我的意思是 我需要写入一个值的前 7 位 然后读取另一个值的最后一位 编辑 忘记指定 我将把它们设置为大端 您正在寻找位掩码 学习如何使用 C 的按位运算符 等等都