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

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 中可用的所有编译时运算符吗 C 中有两个运算符 无论操作数如何 它们的结果始终可以在编译时确定 它们是sizeof 1 and 2 当然 其他运算符的许多特殊用途可以在编译时解决 例如标准中列出的那些整数常量表达式 1 与
  • “构建”构建我的项目,“构建解决方案”则不构建

    我刚刚开始使用VS2010 我有一个较大的解决方案 已从 VS2008 成功迁移 我已将一个名为 Test 的控制台应用程序项目添加到解决方案中 选择构建 gt 构建解决方案不编译新项目 选择构建 gt 构建测试确实构建了项目 在失败的情况
  • 为什么 C# Array.BinarySearch 这么快?

    我已经实施了一个很简单用于在整数数组中查找整数的 C 中的 binarySearch 实现 二分查找 static int binarySearch int arr int i int low 0 high arr Length 1 mid
  • 为什么两个不同的 Base64 字符串的转换会返回相等的字节数组?

    我想知道为什么从 base64 字符串转换会为不同的字符串返回相同的字节数组 const string s1 dg const string s2 dq byte a1 Convert FromBase64String s1 byte a2
  • 在结构中使用 typedef 枚举并避免类型混合警告

    我正在使用 C99 我的编译器是 IAR Embedded workbench 但我认为这个问题对于其他一些编译器也有效 我有一个 typedef 枚举 其中包含一些项目 并且我向该新类型的结构添加了一个元素 typedef enum fo
  • 不支持将数据直接绑定到存储查询(DbSet、DbQuery、DbSqlQuery)

    正在编码视觉工作室2012并使用实体模型作为我的数据层 但是 当页面尝试加载时 上面提到的标题 我使用 Linq 语句的下拉控件往往会引发未处理的异常 下面是我的代码 using AdventureWorksEntities dw new
  • C#中如何移动PictureBox?

    我已经使用此代码来移动图片框pictureBox MouseMove event pictureBox Location new System Drawing Point e Location 但是当我尝试执行时 图片框闪烁并且无法识别确切
  • 带动态元素的 WPF 启动屏幕。如何?

    我是 WPF 新手 我需要一些帮助 我有一个加载缓慢的 WPF 应用程序 因此我显示启动屏幕作为权宜之计 但是 我希望能够在每次运行时更改屏幕 并在文本区域中显示不同的引言 这是一个生产力应用程序 所以我将使用非愚蠢但激励性的引言 当然 如
  • 如何序列化/反序列化自定义数据集

    我有一个 winforms 应用程序 它使用强类型的自定义数据集来保存数据进行处理 它由数据库中的数据填充 我有一个用户控件 它接受任何自定义数据集并在数据网格中显示内容 这用于测试和调试 为了使控件可重用 我将自定义数据集视为普通的 Sy
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • 这些作业之间是否存在顺序点?

    以下代码中的两个赋值之间是否存在序列点 f f x 1 1 x 2 不 没有 在这种情况下 标准确实是含糊不清的 如果你想确认这一点 gcc 有这个非常酷的选项 Wsequence point在这种情况下 它会警告您该操作可能未定义
  • 链接器错误:已定义

    我尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C 项目 使用 MFC 但出现以下错误 error LNK2005 void cdecl operator new unsigned int 2
  • 对现有视频添加水印

    我正在寻找一种用 C 在视频上加水印的方法 就像在上面写文字一样 图片或文字标签 我该怎么做 谢谢 您可以使用 Nreco 视频转换器 代码看起来像 NReco VideoConverter FFMpegConverter wrap new
  • WPF/C# 将自定义对象列表数据绑定到列表框?

    我在将自定义对象列表的数据绑定到ListBox in WPF 这是自定义对象 public class FileItem public string Name get set public string Path get set 这是列表
  • 为什么编译时浮点计算可能不会得到与运行时计算相同的结果?

    In the speaker mentioned Compile time floating point calculations might not have the same results as runtime calculation
  • 基于 OpenCV 边缘的物体检测 C++

    我有一个应用程序 我必须检测场景中某些项目的存在 这些项目可以旋转并稍微缩放 更大或更小 我尝试过使用关键点检测器 但它们不够快且不够准确 因此 我决定首先使用 Canny 或更快的边缘检测算法 检测模板和搜索区域中的边缘 然后匹配边缘以查
  • C# - OutOfMemoryException 在 JSON 文件上保存列表

    我正在尝试保存压力图的流数据 基本上我有一个压力矩阵定义为 double pressureMatrix new double e Data GetLength 0 e Data GetLength 1 基本上 我得到了其中之一pressur
  • 如何在文本框中插入图像

    有没有办法在文本框中插入图像 我正在开发一个聊天应用程序 我想用图标图像更改值 等 但我找不到如何在文本框中插入图像 Thanks 如果您使用 RichTextBox 进行聊天 请查看Paste http msdn microsoft co
  • C++ 中类级 new 删除运算符的线程安全

    我在我的一门课程中重新实现了新 删除运算符 现在我正在使我的代码成为多线程 并想了解这些运算符是否也需要线程安全 我在某处读到 Visual Studio 中默认的 new delete 运算符是线程安全的 但这对于我的类的自定义 new
  • C++ 标准是否指定了编译器的 STL 实现细节?

    在写答案时this https stackoverflow com questions 30909296 can you put a pimpl class inside a vector我遇到了一个有趣的情况 这个问题演示了这样一种情况

随机推荐

  • 获取所选列的索引(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 的按位运算符 等等都