C语言中的位运算

2023-12-01

所以如果我有一个 32 位的整数。前 28 位(左起)用于存储内存块的大小,接下来的两位是 0,最后两位是:

  • 存储如果它是最后一个节点然后
  • 存储是否使用(分别)。

我想做的是知道如何在 isLast 操作和 isUsed 操作上打开和关闭标志。

(如果我们只考虑最后两个整数(同样,我们从左开始),那么 01 将不是最后一个并且被使用,例如,再一个例子是 11 是最后一个并且被使用,00 不是最后一个并且没有被使用。)

我希望能够以简单的方式打开和关闭标志。我知道我需要使用位运算,包括 & 和 |但我不知道怎么办。

如果您需要问题的更多描述,请向我提问。


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

C语言中的位运算 的相关文章

  • 为什么在 lambda 内部引发异常是 C# 7 的一项功能? [复制]

    这个问题在这里已经有答案了 该语句在 VS2015 中无法编译 但在 VS2017 中可以编译 var example new Action gt throw new Exception 为了支持在 lambda 表达式内抛出异常 必须对
  • 将 ARGB 拆分为字节值

    我有一个 ARGB 值存储为 int 类型 它是通过调用 ToArgb 来存储的 我现在想要来自 int 值的各个颜色通道的字节值 例如 int mycolor 16744448 byte r g b a GetBytesFromColor
  • 线程独占数据:如何存储和访问?

    NET 中是否有可能将对象实例绑定到线程的当前执行上下文 这样在代码的任何部分我都可以做类似的事情CurrentThread MyObjectData DoOperation 并确保我访问特定于线程的数据 谢谢 你可以看一下线程静态属性 h
  • 如何转发声明要在 unique_ptr 的标准容器中使用的类

    在智能指针的标准容器中使用它时 是否可以避免完整的类定义可见 例如 我无法编译以下内容 include
  • 表达式访问者仅为某些 lambda 表达式调用 VisitParameter

    我希望能够使用嵌套扩展方法将 EF 中的实体投影到相应的视图模型 参见我之前的问题使用扩展方法在 EF 中投影单个实体 https stackoverflow com questions 39585427 projection of sin
  • 如何用另一个静态变量初始化一个静态变量?

    静态1 hpp include
  • C++:字符串流有什么好处?

    谁能告诉我一些在 C 中使用字符串流的实际例子 即使用流插入和流提取运算符输入和输出到字符串流 您可以使用字符串流来转换任何实现operator lt lt 到一个字符串 include
  • Monitor.Pulse & Wait - 意外行为

    http www codeproject com Articles 28785 Thread synchronization Wait and Pulse demystified http www codeproject com Artic
  • 值类型如何实现引用类型

    我遇到了一个值类型正在实现 ref 的场景 类型 只是想知道这怎么可能 幕后发生了什么 结构体是值类型 接口是引用 类型但结构可以实现接口而不会出现任何错误 有什么想法吗 提前致谢 实际上 它同时以两种不同的方式进行 首先 任何值类型都可以
  • 带有嵌入 Flash 视频的 PDF 示例?

    有谁知道我在哪里可以查看嵌入 Flash 视频的 PDF 示例 我知道问这个问题很愚蠢 因为你会认为任何面向技术的用户都应该能够使用谷歌找到一个 但我真的找不到 我的另一个问题是 使用 C 中的 API 将 Flash 视频嵌入 PDF 文
  • 微软怎么能说WinAPI中一个字的大小是16位呢?

    我刚刚开始学习WinAPI 在MSDN中 对WORD数据类型提供了以下解释 WORD16 位无符号整数 范围是十进制 0 到 65535 该类型在 WinDef h 中声明如下 typedef 无符号短 WORD 很简单 而且它与我一直在使
  • 将视频上传/保存到数据库或文件系统

    我以前从未尝试过保存视频 所以我对此了解不多 我知道如果视频很小 我可以转换为字节数组并保存到数据库 但是为了提高效率 我想了解如何将任何上传的视频保存到我的服务器文件中 然后只保存该文件的文件路径我的数据库表中的视频 我完全不知道如何开始
  • 如何将输出重定向到 boost 日志?

    我有一个使用boost log的C 程序 我加载了用户提供的动态链接库 我想将 stderr 重定向到 boost 日志 以便用户的库随时执行以下操作 std cerr lt lt Some stuff 它产生相同的结果 BOOST LOG
  • 为什么我无法通过 lambda 捕获“this”指针?

    考虑以下代码 class A public void foo auto functor this A a this auto functor a The compiler won t accept this instead of a a g
  • 使用 DataGridViewCheckboxCell 真正禁用 DataGridView 中的复选框

    有谁知道如何使用 DataGridViewCheckboxCell 禁用 DataGridView 中的复选框 我可以将其设置为只读 并设置背景颜色 但我无法让复选框本身显示为禁用状态 有什么想法吗 Guess 你必须自己画 http so
  • Membership.ValidateUser() 的目的是什么

    我一直在学习有关MembershipProvider类 我认为Membership ValidateUser 方法应该用于登录用户 然而我刚刚了解到有一个FormsAuthentication Authenticate 目的是什么Valid
  • 调用泛型类的方法

    这是上下文 我尝试编写一个映射器来动态地将域模型对象转换为 ViewModel 对象 我遇到的问题是 当我尝试通过反射调用泛型类的方法时 出现此错误 System InvalidOperationException 无法对 Contains
  • 小数精度

    我使用小数类型进行高精度计算 货币 但我今天遇到了这个简单的划分 1 1 37 这应该再次得到 37 http www wolframalpha com input i 1 2F 281 2F37 29 http www wolframal
  • DbContext.SaveChangesAsync 异常处理

    当搭建新的脚手架时ApiController通过 Visual Studio 2013 中的异步操作和实体框架支持 某些方法可以包装DbContext SaveChangesAsync https msdn microsoft com en
  • 为什么 INT64_MIN 的定义不同?为什么他们的行为不同?

    The stdint h我公司的标题是 define INT64 MIN 9223372036854775808LL 但在我项目的一些代码中 一位程序员写道 undef INT64 MIN define INT64 MIN 92233720

随机推荐

  • Git 分支没有按预期工作

    我正在阅读本教程 http gitref org branching 据我了解 本教程说如果我在Branch A并进行一些更改 不会影响其他分支 所以我正在测试这个 mkdir test cd test git init Initializ
  • 快速计算R中的二重积分

    我正在寻找比二重积分更快的解决方案 integrate function y sapply y function y integrate function x myfun x y llim ulim value llim ulim with
  • Boost::Asio :io_service.run() 与 poll() 或者如何在主循环中集成 boost::asio

    我目前第一次尝试使用 boost asio 进行一些简单的 tcp 网络 我已经遇到了一些我不太确定如何处理的事情 据我了解 io service run 方法基本上是一个循环 它运行直到没有什么可做的 这意味着它将运行直到我释放我的小服务
  • 为什么我的 Julia 代码运行得这么慢?

    redim 2 Loading data iris data readdlm iris data csv iris target readdlm iris target csv Center data iris data broadcast
  • 用于 Microsoft 时区的 java.time.zone.ZoneRulesProvider

    我正在针对外部 API 进行编码 该 API 将看似 Windows 时区描述的内容返回为字符串 例如 浪漫标准时间 我需要将它们解析为javaZoneIds 或偏移量 这些值的列表可用here The java time ZoneId文档
  • Python频率检测

    好吧 我想做的是一种音频处理软件 它可以检测流行频率 如果该频率播放足够长的时间 几毫秒 我知道我得到了积极的匹配 我知道我需要使用 FFT 或类似的东西 但在这个数学领域我很糟糕 我确实在互联网上搜索过 但没有找到只能做到这一点的代码 我
  • 如何使用 bash 或 python 有选择地删除列和行

    UPDATE 我怀疑我最初输入的输入和所需的输出数据与我所拥有的空白数据并不完全相同 我现在已经输入了新的输入数据和所需的输出数据 我目前有一个数据集 如下所示 INPUT Hybridization REF TCGA 13 A5FT 01
  • 将 numpy.datetime64 转换为纪元时间

    我正在尝试将包含 numpy datetime64 的 numpy 数组 new feat dt 转换为纪元时间 我想确保转换发生时日期保持 utc 格式 我正在使用 numpy 1 16 4 和 python3 6 我尝试了两种转换方式
  • redux saga,有条件地节流/反跳?

    当横幅在屏幕上可见时 我会记录横幅展示次数 当用户滚动时 同一横幅可以在短时间内多次可见 我想阻止这种情况发生 第一想法是 throttle是预防它的完美方法 但是当你在一个页面上有多个横幅时 throttle如果受到限制 则不会在屏幕中记
  • 将简单的物理应用到 SceneKit XCODE SWIFT 中的 .scn 对象

    嘿 下面我有一个正常的球体 我创建它只是为了测试我的游戏场景 世界是否具有物理特性 所以我只是将球放入场景 世界中 就很完美了 它受到重力的影响 然后我尝试对 scn 文件执行完全相同的操作 我赋予它的物理性质与下落的测试球体对重力的影响相
  • 混合 JPA 注释和 XML 配置

    我有一个相当大的 新 项目 其中我们使用 JPA 映射注释了许多域类 现在是时候实现许多命名查询了 一些实体可能有多达 15 20 个命名查询 我认为在注释中编写这些命名查询会使源文件变得混乱 因此正在考虑将它们放入 XML 映射文件中 这
  • 将 Github Markdown 语言与 CSS 混合

    如何将CSS添加到github的markdown语言中 我已经能够通过使用 html 标签内的 style 属性来做到这一点 例如 p style text align center This is some random text p 但
  • R:列集中最后一个非 NA 值

    我正在寻找管道支持的以下问题的解决方案 我的数据看起来像这样 tibble column set 1 1 c 1 2 3 column set 1 2 c 2 3 NA column set 1 3 c 3 NA NA column set
  • jQuery 使用 jQuery.support 而不是 jQuery.browser 检测 IE6

    我没有找到使用 jquery support 而不是不再支持的 jquery browser 来检测 IE6 的明确方法 我还需要考虑怪癖模式 呃 我在 Stack 上看到了几篇文章 但它们都引用了 jquery browser 并且 jq
  • 我可以关闭 cmd 中这个“for”循环输入的 echo 吗?

    我试图使用这个优秀的答案 有没有一种方法可以让一个命令行执行以下命令 删除所有大小为零的文件 而不打印任何输出 for r F in do if zF 0 del F 它显示所有扩展的命令 当大小不为零时也是如此 我尝试过使用如何在 cmd
  • C++ 中首选的构建器模式是否有替代方案?

    我来自 Java 那里大量使用了构建器模式 e g Foo foo new FooBuilder setBar 43 setBaz hello world enableCache true build 例如 Automapper 是一个流行
  • 列表

    我有一个关于泛型的 Java 问题 我声明了一个通用列表 List
  • WebApi2 IHttpActionResult 强类型返回值

    这样做是可能的 但并不理想 一个大大简化的示例 Serializable public class MyRecord public string key get set public string data get set public a
  • 如何克隆表中的行而不克隆其中输入元素的值?

    我正在尝试向表中添加一行 我发现我们可以使用clone 复制现有行的方法 我的表有两个不同的文本输入 tr 元素 克隆最后一行也会复制我的文本输入中的值 这是我不想要的 如何克隆行而不重复值 这是我到目前为止所拥有的 table 1 tr
  • C语言中的位运算

    所以如果我有一个 32 位的整数 前 28 位 左起 用于存储内存块的大小 接下来的两位是 0 最后两位是 存储如果它是最后一个节点然后 存储是否使用 分别 我想做的是知道如何在 isLast 操作和 isUsed 操作上打开和关闭标志 如