无需条件语句即可访问第 n 位

2023-12-02

所以我有一个位序列:

1010

1 是最高有效位。

如果奇数位为 0,我的函数需要返回整数 0;如果奇数位为 1,则需要返回 1。

我不能使用任何 for 循环或任何类似性质的东西来查看是否需要返回 0 或 1。有没有人有任何建议如何解决这个问题。

我正在考虑使用 not 操作,但我可以弄清楚如何准确使用它。

到目前为止,我使用的是 1010...10 的序列,然后对其进行操作。对上面的代码执行此操作将得到 1010。现在我需要确定返回的是 1 还是 0。


假设我们正在讨论 32 位整数。我假设您想知道是否有任何奇数位被设置(1)。

为此,我们创建一个如下所示的整数:

10101010101010101010101010101010

现在,如果我们 AND (&)这样,所有偶数位都被过滤掉。现在,如果该数字不为零,则设置一个或多个奇数位。在C中:

#include <stdint.h>

int hasodd(uint32_t x) {
    // 0xAAAAAAAA = 10101010101010101010101010101010
    // double negation to turn x>0 into 1 and leave 0 alone
    return !!(x & 0xAAAAAAAA); 
}

如果您的意思是应该返回是否设置了第 N 位,那么这是可行的。它右移一个1到正确的位置以过滤掉所有不相关的位:

#include <stdint.h>

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

无需条件语句即可访问第 n 位 的相关文章

  • 从 SQL 数据库获取日期时间

    我的数据库表中有一个 DateTime 记录 我编写一个查询从数据库中获取它 string command2 select Last Modified from Company Data where Company Name Descrip
  • LINQ to XML - 如何正确使用 XDocument

    现在我首先要说的是 这确实是一项任务 然而 在我遇到 Linq to XML 语法之前 我几乎已经完成了它 我有 2 个课程 曲目和 CD 现在作为作业的一部分 我创建了一张 CD 然后向其中添加了一些曲目 在搜索了大量完美解释了如何从 x
  • 对数字进行向上和向下舍入 C++

    我试图让我的程序分别向上和向下舍入数字 例如 如果数字是3 6 我的程序应该四舍五入最接近的数字 4 如果该数字是3 4 它将向下舍入为 3 我尝试使用ceil库获取 3 个项目的平均值 results ceil marks1 marks2
  • 如何避免选择项目时 winforms 树视图图标发生变化

    我正在一个小型 C Winforms 应用程序中尝试树视图 我已经以编程方式将 ImageList 分配给树视图 并且所有节点都很好地显示了它们的图标 but当我单击一个节点时 它的图标会发生变化 变为 ImageList 中的第一个图像
  • 成员初始值设定项列表中的求值顺序是什么?

    我有一个带有一些参数的构造函数 我假设它们是按照列出的顺序初始化的 但在一种情况下 它们似乎是按相反的顺序初始化的 导致中止 当我反转参数时 程序停止中止 下面是我正在使用的语法的示例 a 之前需要初始化b 在这种情况下 你能保证这个初始化
  • 捕获当前正在播放的声音

    是否可以捕获计算机上当前播放的声音 如果能够将其保存为 mp3 就好了 但我认为这样做会存在一些法律问题 所以 wav 也可以 我环顾四周 有人建议使用虚拟音频线之类的东西 在 C 中捕获声音输出 https stackoverflow c
  • CMake - 将预构建库链接到 C# 项目

    我正在使用 CMake 构建 C 库 该库依赖于已构建的库 dll 我似乎无法让图书馆链接到我的图书馆 我尝试过使用target link libraries mylib external lib 我也尝试过暴力破解 reference e
  • for 循环 - 没有效果的语句

    由于某种原因 我收到错误 statement with no effect关于这个声明 for j idx j lt iter j increment printf from loop idx i int idx punc ctxt j 你
  • _mm_max_ss 在 clang 和 gcc 之间有不同的行为

    我正在尝试使用 clang 和 gcc 交叉编译一个项目 但在使用时发现一些奇怪的差异 mm max ss e g m128 a mm set ss std numeric limits
  • 在生产者-消费者情况下使用条件变量

    我正在尝试了解条件变量以及如何在生产者 消费者情况下使用它 我有一个队列 其中一个线程将数字推入队列 而另一个线程从队列中弹出数字 当生产线程放置一些数据时 我想使用条件变量向消费线程发出信号 问题是有时 或大多数时候 它只将最多两个项目推
  • 如何在 C++ 中使用 PI 常数

    我想在一些 C 程序中使用 PI 常数和三角函数 我得到三角函数include
  • 通过 MSBuild 调用 cl.exe 时无限期挂起

    我正在尝试在我的 主要是 C 项目上运行 MSBuild 想象一下一个非常庞大的代码库 Visual Studio 2015 是有问题的工具集 Windows 7 SP1 和 VS 2015 更新 2 即使使用 m 1 从而迫使它仅使用一个
  • 改进C++逐行读取文件的能力?

    我正在解析大约 500GB 的日志文件 我的 C 版本需要 3 5 分钟 我的 Go 版本需要 1 2 分钟 我正在使用 C 的流来流式传输文件的每一行以进行解析 include
  • C# - 为什么我需要初始化 [Out] 参数

    我有几个从本机 dll 导入的方法 使用以下语法 internal static class DllClass DllImport Example dll EntryPoint ExampleFunction public static e
  • 多个同名内存数据库

    关系到这个答案 https stackoverflow com a 48446491 596758 我试图通过设置让多个上下文工作UseInMemoryDatabase以同名 下面的测试失败 第二个上下文为空 我还需要做什么才能在内存数据库
  • 有没有办法让 VS2010 在我的方法中扩展或收缩 try 块?

    我的代码有很多 try catch finally 块 与我在 VS2010 中的方法不同 除了添加区域之外 我无法在开发时扩展或收缩这些区域来隐藏内容 try vm R vm Qu vm T vm D vm Fil vm Type vm
  • 局部静态变量初始化是线程安全的[重复]

    这个问题在这里已经有答案了 假设我有一个包含三个静态函数的类 如下所示 include
  • 从 C# 中的 .NET SecureString 读取单个字符?

    WPF 的PasswordBox 返回一个SecureString 它对窥探者隐藏密码 问题是你最终必须获得密码的值 而我在网上找到的建议都涉及将值复制到字符串中 这会让你回到窥探者的问题 IntPtr bstr Marshal Secur
  • C++0x 中的新 unicode 字符

    我正在构建一个 API 它允许我获取各种编码的字符串 包括 utf8 utf16 utf32 和 wchar t 根据操作系统 可能是 utf32 或 utf16 新的 C 标准引入了新类型char16 t and char32 t没有这么
  • ASP.NET Core:会话 ID 始终变化

    今天启动了一个全新的 ASP NET Core 网站 按照说明添加会话 我们在索引页上打印出会话 ID 它始终是唯一的 我认为这可能是 cookie 合规性 所以我在 Chrome 的高级设置和调试器中删除了所有 cookie 但横幅不会再

随机推荐

  • 如何在 docker-compose 中将两个正在运行的容器相互连接?

    所以我有这个简单的 Python Flask 应用程序 其中有 2 个服务 应用程序和数据库 我希望应用程序 Flask 应用程序 连接到数据库服务 PostgreSQL 现在 当我注释掉应用程序服务并运行docker compose up
  • 面向对象的pyplot

    我需要处理 pyplot 对象 例如图形和轴 这是我想要的一个简化示例 In 1 import matplotlib pyplot as mp In 2 fig mp figure create a figure In 3 mp show
  • Java8时间库不能正确解释BST时区

    我正在迁移我的代码以使用java time包但我发现DateTimeFormatter无法正确解释时区 BST 英国夏令时间 而不是制作它UTC 0100 它将其转换为太平洋 布干维尔时区 有谁知道我如何解决这个问题而不需要回到旧的 Sim
  • 将 linq 连接的左侧或右侧填充为相同的行数

    我的目标是创建一个右侧或左侧行数相同的列表 无论左列或右列是否比另一列短 考虑这两个查询 var result1 from f in list2 join b in list1 on f index equals b index into
  • 以编程方式提交作业时 Spark EC2 集群上出现 java.io.EOFException

    真的需要你的帮助来理解我做错了什么 我实验的目的是以编程方式运行 Spark 作业 而不是使用 spark shell 或 spark submit 这些都对我有用 环境 我使用 spark ec2 脚本创建了一个包含 1 个主节点和 1
  • 正则表达式 - Unicode 属性参考和示例

    我对 RegexBuddy 提供的正则表达式 Unicode 属性感到迷失 我无法区分任何数字属性 并且数学符号属性似乎仅匹配 但不是 例如 是否有任何带有正则表达式 Unicode 属性示例的文档 参考 Unicode 字符属性 您在示例
  • 无法从 ionic 注销

    您好 我有离子登录和注销的问题 每次注销后 我仍然可以单击后退按钮 它会将我带回到上一页 我可以知道如何在注销时清除或删除会话 以便用户无法从登录返回上一页吗 var default stat scope logout function i
  • 类型错误:无法将 Sparsetensor 类型的对象转换为 Tensor

    我正在为 imdb 情感分析数据集构建文本分类模型 我下载了数据集并按照此处给出的教程进行操作 https developers google com machine learning guides text classification
  • Python3 CGI HTTPS 服务器在 Unix 上失败

    这个Python3 CGI HTTPS服务器几周 或几个月 前可以工作 但现在不再在Linux Ubuntu 下工作 我在 Ubuntu 10 04 和 Ubuntu 14 04 上尝试过 行为是相同的 现在 当我尝试访问任何 CGI 脚本
  • 在 XSL 中进行双遍?

    是否可以将 XSL 转换的输出存储在某种变量中 然后对变量的内容执行附加转换 全部在一个 XSL 文件中 XSLT 2 0 首选 XSLT 2 0 解决方案
  • 如何暂停读取 xls 文件的每一行

    我的 mac 桌面上有一个 xls 文件 其中有很多行 每行由一个单词组成 我想要的是在终端中每行显示 3 分钟 请注意 xls 的版本是 2016 谢谢如何使用python获取Excel工作表中的行号 import pandas as p
  • 添加 Google Conversion Tracking SDK iOS-3.0.0 时应用程序崩溃

    我将 GoogleConversionTrackingSDK 添加到我的项目中 然后调用该函数 ACTConversionReporter reportWithConversionID 972050884 label Bzk1CIzPkAk
  • 如何将 JSON 对象保存到 Core Data?

    我是 Core Data 中的 nwebie 我设计了一个基于导航的应用程序 我使用的一些数据是在运行时创建的 来自通过 JSON 的 URL 我学习了一些教程并搜索了几乎一天 但仍然没有意识到如何将传入的 JSON 数据保存到我的核心数据
  • 检查VBA中的列是否存在值

    我有一列超过 500 行的数字 我需要使用 VBA 检查变量 X 是否与列中的任何值匹配 有人可以帮帮我吗 范围的查找方法比使用 for 循环手动遍历所有单元格更快 这是在vba中使用find方法的示例 Sub Find First Dim
  • wmi c# - WMI 给出不正确的电压读数

    所以我用 WPF C 和 WMI 编写了一个程序作为一个小项目来收集计算机的规格 并将其放在 SourceForge 上 因为它对我来说没什么用处 我很快发现 SoftPedia 已经发现了它 并在他们的屏幕截图中注意到电压读数有错误 这是
  • javascript 块中的 HTML 注释?

    我有一个像下面这样的函数 它在 HTML 页面中插入一段 HTML 代码 function someEventHandler htmlContent document getElementById some element id inner
  • C# 将魔术字符串转换为 lambda 表达式

    我有一组扩展方法 允许在 LINQ 中使用魔术字符串OrderBy 方法 我知道第一个问题是为什么 但它是通用存储库的一部分 并且具有灵活性 以便可以从 UI 发送字符串并直接使用 如果您传入一个代表您正在查询的主要实体上的属性的魔术字符串
  • 如何创建背景网格

    我想创建一个网格作为我的 JavaFX 应用程序的背景 我当前的解决方案是在画布上绘制一个矩形 从中创建一个图像图案并将其设置为填充 Question 有没有更好的方法来解决这个问题 最好是通过CSS 当前版本 public class B
  • 垂直翻转字节数组中位图的算法

    我正在编写一个类 用于通过 Mono For Android 将位图打印到 Android 中的便携式蓝牙打印机 我的类用于从流中获取像素数据 以便可以以正确的格式将其发送到打印机 现在这个类很简单 它只是读取高度 宽度和每像素位数 它使用
  • 无需条件语句即可访问第 n 位

    所以我有一个位序列 1010 1 是最高有效位 如果奇数位为 0 我的函数需要返回整数 0 如果奇数位为 1 则需要返回 1 我不能使用任何 for 循环或任何类似性质的东西来查看是否需要返回 0 或 1 有没有人有任何建议如何解决这个问题