C++ 代码中“&”运算符的意义

2024-03-17

我看到一些这样的代码:

void testCase2 (int variant)
{    
  if (variant & 0x1)
  {
    return;
  }
}

什么是&if语句中的运算符意思是==?为什么要使用&?


&是按位与运算符。给定两个整数操作数,它对每个位位置执行 AND 运算,即在结果中仅设置那些在中设置的位both操作数。

如果操作数之一是0x1在本例中,结果将是0x1当且仅当该位是also设置在other操作数(这里,variant).

由于 C/C++ 认为任何非零整数都是true,

if (variant & 0x1)

检查最低有效位是否variant is set.

相似地,

if (variant & 0x2)

会检查是否第二最低有效位 in variant已设置,并且

if (variant & 0x3)

会检查是否either的两个最低有效位variant is set.

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

C++ 代码中“&”运算符的意义 的相关文章

  • 通过增加索引之和来生成排序组合的有效方法

    对于启发式算法 我需要一个接一个地评估特定集合的组合 直到达到停止标准 由于它们很多 目前我正在使用以下内存高效迭代器块生成它们 受到 python 的启发 itertools combinations http docs python o
  • 分段错误(核心转储)错误

    我的程序编译罚款 但在输入文件时出现 分段错误 核心转储 错误 我没有正确处理 ostream 吗 include
  • 内联函数/方法

    声明 内联函数必须在调用之前定义 这个说法正确吗 EDIT 该问题最初是德语 内联功能穆森 弗 伊赫雷姆 奥夫鲁夫定义 sein 也许它对任何人都有帮助 是的 它是正确的 但只是部分正确 它可能正确地重新构建如下 内联函数必须在每个翻译单位
  • SSL/TLS/HTTPS 站点在 C#/.NET WebBrowser 控件中非常慢,但在 Internet Explorer 中则很好

    背景 我正在修改自动维基浏览器 http en wikipedia org wiki Wikipedia AutoWikiBrowser使用托管在安全服务器上的 MediaWiki 站点 我允许用户通过 C 应用程序中的 WebBrowse
  • 如何尝试/捕获所有异常

    我正在完成由其他人启动的 UWP 应用程序 该应用程序经常崩溃 我总是陷入困境应用程序 at if global System Diagnostics Debugger IsAttached global System Diagnostic
  • 将字符串中的“奇怪”字符转换为罗马字符

    我需要能够将用户输入仅转换为 a z 罗马字符 不区分大小写 所以 我感兴趣的角色只有26个 然而 用户可以输入他们想要的任何 形式 的字符 西班牙语 n 法语 e 和德语 u 都可以包含用户输入中的重音符号 这些重音符号会被程序删除 我已
  • C++中delete和delete[]的区别[重复]

    这个问题在这里已经有答案了 可能的重复 C 中的删除与删除 运算符 https stackoverflow com questions 2425728 delete vs delete operators in c 我写了一个包含两个指针的
  • 在 C# Winforms 应用程序中嵌入 Windows XP 主题

    我有一个旧版 C Windows 窗体应用程序 其布局是根据 Windows XP 默认主题设计的 由于需要将其作为 Citrix 应用程序进行分发 该应用程序现在看起来像经典主题应用程序 因为 Citrix 不鼓励使用主题系统服务 所以
  • 对 boost 库的依赖项没有完整路径

    我已经成功构建了动态库 依赖于使用自定义前缀构建和安装的 boost 库 b2 install prefix PREFIX 然而 当我跑步时otool L在我的库中 我得到如下输出 libboost regex dylib compatib
  • 无法解析远程名称 - webclient

    我面临这个错误 The remote name could not be resolved russgates85 001 site1 smarterasp net 当我请求使用 Web 客户端读取 html 内容时 出现错误 下面是我的代
  • libxml2 xmlChar * 到 std::wstring

    libxml2似乎将所有字符串存储在 UTF 8 中 如xmlChar xmlChar This is a basic byte in an UTF 8 encoded string It s unsigned allowing to pi
  • 为什么具有相同名称但不同签名的多个继承函数不会被视为重载函数?

    以下代码片段在编译期间产生 对 foo 的调用不明确 错误 我想知道是否有任何方法可以解决此问题而不完全限定对 foo 的调用 include
  • C# 中的常量和只读? [复制]

    这个问题在这里已经有答案了 可能的重复 const 和 readonly 之间有什么区别 https stackoverflow com questions 55984 what is the difference between cons
  • 0-1背包算法

    以下 0 1 背包问题是否可解 浮动 正值和 浮动 权重 可以是正数或负数 背包的 浮动 容量 gt 0 我平均有 这是一个相对简单的二进制程序 我建议用蛮力进行修剪 如果任何时候你超过了允许的重量 你不需要尝试其他物品的组合 你可以丢弃整
  • Visual Studio 2017 完全支持 C99 吗?

    Visual Studio 的最新版本改进了对 C99 的支持 最新版本VS2017现在支持所有C99吗 如果没有 C99 还缺少哪些功能 No https learn microsoft com en us cpp visual cpp
  • 为什么 Linux 对目录使用 getdents() 而不是 read()?

    我浏览 K R C 时注意到 为了读取目录中的条目 他们使用了 while read dp gt fd char dirbuf sizeof dirbuf sizeof dirbuf code Where dirbuf是系统特定的目录结构
  • 类中不允许使用不完整类型,但类模板中允许使用不完整类型

    以下为无效代码 struct foo struct bar bar x error field x has incomplete type struct bar int value 42 int main return foo x valu
  • 带有私有设置器的 EFCore Base 实体模型属性 - 迁移奇怪的行为

    实体模型继承的类内的私有设置器似乎会导致 EFCore 迁移出现奇怪的问题 考虑以下示例 其中有多个类 Bar and Baz 继承自Foo 跑步时Add Migration多次命令 添加 删除private修饰符 生成的模式在多个方面都是
  • C#中为线程指定特殊的cpu

    我有 2 个线程 我想告诉其中一个在第一个 cpu 上运行 第二个在第二个 cpu 上运行 例如在具有两个 cpu 的机器中 我怎样才能做到这一点 这是我的代码 UCI UCIMain new UCI Thread UCIThread ne
  • 如何使用 C# 以低分辨率形式提供高分辨率图像

    尝试使用 300dpi tif 图像在网络上显示 目前 当用户上传图像时 我正在动态创建缩略图 如果创建的页面引用宽度为 500x500px 的高分辨率图像 我可以使用相同的功能即时转换为 gif jpg 吗 将创建的 jpg 的即将分辨率

随机推荐

  • nodejs websockets 订阅多个频道

    我的 Nodejs 程序的最终目标是订阅多个频道 提供实时金融信息并处理流数据 在 python 中 可以使用 functools partial 和 websocket 订阅多个频道 这允许一个 python 程序订阅多个频道 就我而言
  • 尝试使用 python 客户端获取 CRD 时出现 404

    发生了什么 我正在尝试使用 kubernetes python 客户端在 kubernetes 中创建自定义对象 但我无法这样做 如果有人可以解释我在这里做错了什么 那将会很有帮助 Traceback most recent call la
  • 无法从资产“index.android.bundle”加载脚本。确保您的捆绑包已正确打包或者您正在运行打包服务器

    我正在使用版本为 0 38 0 的 React Native 应用程序 当我尝试将其升级到 0 45 1 时 它显示以下错误 java lang RuntimeException Unable to load script from ass
  • 如何在 Perl 中将输入文件转换为 UTF-8 编码?

    我已经知道如何使用如下代码将文件的非 utf8 编码内容逐行转换为 UTF 8 编码 outfile txt is in GB 2312 encode open my filter lt c outfile txt while lt fil
  • Angular 2 材料垫选择以编程方式打开/关闭

    有谁知道如何以编程方式打开或关闭垫选择 就 api 而言 有打开和关闭的方法 但不知道如何从组件调用这些方法 并且现场没有任何示例显示这一点 Thanks 为了访问这些属性 您需要识别 DOM 元素并使用ViewChild 组件 html
  • 迭代嵌套列表、元组和字典

    我还有一个关于主题的问题迭代嵌套列表和字典 https stackoverflow com questions 11501090 iterate over nested lists and dictionaries 我需要一些针对上面链接主
  • 如何使用 ImageMagick 防止图像炸弹?

    我目前在 PHP 上使用 Imagick 库 并使用 Image Magick 的调整大小功能 我刚刚了解了减压炸弹以及 ImageMagick 如何容易受到它的攻击 我已经检查了如何 ping 图像并验证图像的尺寸 而无需实际将其加载到内
  • 最小长度子集的高效幂集算法

    我正在使用以下 C 函数来获取仅限于最小长度子集的幂集 string PowerSet int min len string set IEnumerable
  • 正在从 CakePHP URL 中删除 ID?

    大家好 正在开发一个新的 Cake 应用程序 想知道是否有办法从 Cake 中删除 ID in URL 路由 也许通过某种方式在 POST 中传递 ID 将 ID 作为 URL 参数传入似乎非常粗制滥造且不安全 谢谢 劣质 在 URL 中包
  • 根据用户组限制 S3 资源

    我有一个网络应用程序 用户 通过 Cognito 使用 ID 令牌 JWT 登录 可以从 S3 上传 下载文件 用户应仅访问与其组织相关的 S3 资源 为此 我正在考虑按组织分离 S3 路径 arn aws s3 my bucket org
  • 如何使 Kotlin“内部”​​对象可供测试访问?

    我的项目使用多个 Gradle 源集作为其生产代码库 而不仅仅是main domain dal rest test dbUnitTest 事实证明 这对于限制依赖性和强制关注点分离非常有用 然而它有一个缺点 我们无法使用以下方式访问类或方法
  • Firebug 的“网络”选项卡没有显示任何内容?

    我通常运行 Fiddler 来监控网络流量 现在使用 Mac 机器 我认为Firebug的net选项卡可以显示通过AJAX获取的流量 net选项卡已启用 但是 如果我尝试 google com 并输入一些内容 它的 google sugge
  • 根据屏幕宽度更改 JavaScript 中的 a 标签属性

    我试图使用媒体查询更改 a 标签的属性 但我发现带有超链接的媒体纯粹是建议性的 因此 替代方法是使用 JavaScript 但我似乎无法让 screen width 正常工作 JavaScript function adjustHeight
  • Sum(Case when) 导致选择的多行

    我有一张巨大的客户订单表 我想运行一个查询来按 user id 按月列出过去 13 个月的订单 我现在所拥有的 如下 可以工作 但不是只为每个 user id 列出一行 而是为 user id 的每个订单列出一行 例如 一个用户一生中总共有
  • 如何重启Android模拟器并保留系统数据

    Android模拟器关机时是否可以保留系统数据 不是SD卡数据 我的具体问题是我正在尝试将新的根证书导入 system etc security cacerts bks文件 但这需要重新启动 当我重新启动模拟器时 文件将恢复到原始状态 该文
  • 如何解决Java错误“pool-1-thread-xxxx”java.lang.OutOfMemory

    我搜索了有关此问题的帖子 但没有看到像我这样的情况 我的 java 控制台显示错误消息 pool 1 thread xxxx java lang OutOfMemory如下图 红线 CPU 使用率 绿线 内存使用情况 我增加了内存6G to
  • 如何在access中搜索2个日期和时间?

    我的访问字段中有MyDate and myTime 我的日期格式 16 09 2010 00 00 00 我的时间格式 16 09 2010 04 27 00 我需要在之间搜索date 01 01 2010 and time 12 50 0
  • 自定义命名空间事件将不起作用

    我正在尝试让自定义命名空间事件按此处所述工作 http docs jquery com Namespaced Events http docs jquery com Namespaced Events 但我一定错过了一些东西 因为除非命名空
  • UISlider 在 iOS7 中没有动画

    当我从 iOS 6 切换到 iOS 7 设计时 我注意到使用该方法setValue animated 不再为滑动过程设置动画 有其他人遇到过这个问题并找到解决方案吗 我将添加一些代码来表明我没有做任何复杂的事情 Variable decla
  • C++ 代码中“&”运算符的意义

    我看到一些这样的代码 void testCase2 int variant if variant 0x1 return 什么是 if语句中的运算符意思是 为什么要使用 是按位与运算符 给定两个整数操作数 它对每个位位置执行 AND 运算 即