bitParity - 查找整数中的奇数位

2023-12-04

我必须创建一个函数bitParity(int x)接受一个整数并返回1如果有奇数个0的位形式为x, and 0否则。

Ex: bitParity(5) = 0, bitParity(7) = 1

然而,这很困难,因为我只能使用位运算符来解决这个问题(! ˜ & ˆ | + << >>是唯一合法的)。这意味着,没有循环,if-then,或类似的东西。可以使用常量。

到目前为止,我所拥有的不起作用,但我认为我应该移动整数的位16, 8, and 4次和XOR剩余的整数。

有人可以提供一些建议吗?谢谢。


对于 32 位数字:

function bitParity(int x) {
   x ^= x >> 16;
   x ^= x >> 8;
   x ^= x >> 4;
   x &= 0xf;
   return (0x6996 >> x) & 1;
}

Note*0x6996 表示数字 1、2、4、7、8、11、13 和 14 的位向量。可以用奇数位表示的所有 4 位值。在 0x6996 中,如果某个位在向量中的位置对应于 (1、2、4、7、8、11、13 或 14),则该位被设置。

这就是为什么 (0x6996 >> x) & 1 有意义,在移位 x 后,如果 x 等于位向量中的任何值,则该表达式只会返回 1,这意味着奇数位被放。

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

bitParity - 查找整数中的奇数位 的相关文章

  • 如何使 Windows 窗体的关闭按钮不关闭窗体但使其不可见?

    该表单有一个 NotifyIcon 对象 当用户单击 关闭 按钮时 我希望表单不关闭而是变得不可见 然后 如果用户想再次查看该表单 可以双击系统托盘中的图标 如果用户想关闭表单 可以右键单击该图标并选择 关闭 有人可以告诉我如何使关闭按钮不
  • 当我使用“control-c”关闭发送对等方的套接字时,为什么接收对等方的套接字不断接收“”

    我是套接字编程的新手 我知道使用 control c 关闭套接字是一个坏习惯 但是为什么在我使用 control c 关闭发送进程后 接收方上的套接字不断接收 在 control c 退出进程后 发送方的套接字不应该关闭吗 谢谢 我知道使用
  • 获取按下的按钮的返回值

    我有一个在特定事件中弹出的表单 它从数组中提取按钮并将标签值设置为特定值 因此 如果您要按下或单击此按钮 该函数应返回标签值 我怎样才能做到这一点 我如何知道点击了哪个按钮 此时代码返回 DialogResult 但我想从函数返回 Tag
  • UML类图:抽象方法和属性是这样写的吗?

    当我第一次为一个小型 C 项目创建 uml 类图时 我在属性方面遇到了一些麻烦 最后我只是将属性添加为变量 lt
  • WPF 中的调度程序和异步等待

    我正在尝试学习 WPF C 中的异步编程 但我陷入了异步编程和使用调度程序的困境 它们是不同的还是在相同的场景中使用 我愿意简短地回答这个问题 以免含糊不清 因为我知道我混淆了 WPF 中的概念和函数 但还不足以在功能上正确使用它 我在这里
  • 在 Visual Studio 2008 上设置预调试事件

    我想在 Visual Studio 中开始调试程序之前运行一个任务 我每次调试程序时都需要运行此任务 因此构建后事件还不够好 我查看了设置的 调试 选项卡 但没有这样的选项 有什么办法可以做到这一点吗 你唯一可以尝试的 IMO 就是尝试Co
  • 如何将图像和 POST 数据上传到 Azure 移动服务 ApiController 终结点?

    我正在尝试上传图片and POST表单数据 尽管理想情况下我希望它是json 到我的端点Azure 移动服务应用 我有ApiController method HttpPost Route api upload databaseId sea
  • Json.NET - 反序列化接口属性引发错误“类型是接口或抽象类,无法实例化”

    我有一个类 其属性是接口 public class Foo public int Number get set public ISomething Thing get set 尝试反序列化Foo使用 Json NET 的类给我一条错误消息
  • 指针减法混乱

    当我们从另一个指针中减去一个指针时 差值不等于它们相距多少字节 而是等于它们相距多少个整数 如果指向整数 为什么这样 这个想法是你指向内存块 06 07 08 09 10 11 mem 18 24 17 53 7 14 data 如果你有i
  • 如何返回 json 结果并将 unicode 字符转义为 \u1234

    我正在实现一个返回 json 结果的方法 例如 public JsonResult MethodName Guid key var result ApiHelper GetData key Data is stored in db as v
  • 如何将图像路径保存到Live Tile的WP8本地文件夹

    我正在更新我的 Windows Phone 应用程序以使用新的 WP8 文件存储 API 本地文件夹 而不是 WP7 API 隔离存储文件 旧的工作方法 这是我如何成功地将图像保存到 共享 ShellContent文件夹使用隔离存储文件方法
  • C# 中的递归自定义配置

    我正在尝试创建一个遵循以下递归结构的自定义配置部分
  • 将自定义元数据添加到 jpeg 文件

    我正在开发一个图像处理项目 C 我需要在处理完成后将自定义元数据写入 jpeg 文件 我怎样才能做到这一点 有没有可用的图书馆可以做到这一点 如果您正在谈论 EXIF 元数据 您可能需要查看exiv2 http www exiv2 org
  • 如何将单个 char 转换为 int [重复]

    这个问题在这里已经有答案了 我有一串数字 例如 123456789 我需要提取它们中的每一个以在计算中使用它们 我当然可以通过索引访问每个字符 但是如何将其转换为 int 我研究过 atoi 但它需要一个字符串作为参数 因此 我必须将每个字
  • 如何使我的表单标题栏遵循 Windows 深色主题?

    我已经下载了Windows 10更新包括黑暗主题 文件资源管理器等都是深色主题 但是当我创建自己的 C 表单应用程序时 标题栏是亮白色的 如何使我自己的桌面应用程序遵循我在 Windows 中设置的深色主题 你需要调用DwmSetWindo
  • 控制到达非 void 函数末尾 -wreturn-type

    这是查找四个数字中的最大值的代码 include
  • 32 位到 64 位内联汇编移植

    我有一段 C 代码 在 GNU Linux 环境下用 g 编译 它加载一个函数指针 它如何执行并不重要 使用一些内联汇编将一些参数推送到堆栈上 然后调用该函数 代码如下 unsigned long stack 1 23 33 43 save
  • Process.Start 阻塞

    我正在调用 Process Start 但它会阻止当前线程 pInfo new ProcessStartInfo C Windows notepad exe Start process mProcess new Process mProce
  • x86 上未对齐的指针

    有人可以提供一个示例 将指针从一种类型转换为另一种类型由于未对齐而失败吗 在评论中这个答案 https stackoverflow com questions 544928 reading integer size bytes from a
  • 如何使用 std::string 将所有出现的一个字符替换为两个字符?

    有没有一种简单的方法来替换所有出现的 in a std string with 转义 a 中的所有斜杠std string 完成此操作的最简单方法可能是boost字符串算法库 http www boost org doc libs 1 46

随机推荐

  • F# 错误“错误 FS0039:命名空间或模块“MySql”未定义”?

    你好 我尝试连接 F 和 MySQL 数据库 但出现以下错误 错误 FS0039 命名空间或模块 MySql 未定义 到目前为止 我尝试引用包含 MySQL Data dll 的文件夹 项目 gt 添加引用 gt 浏览 gt C Progr
  • LDAP 搜索中的 CN、OU、DC 是什么?

    我在 LDAP 中有一个这样的搜索查询 这个查询到底是什么意思 CN Dev India OU Distribution Groups DC gp DC gl DC google DC com CN 通用名称 OU 组织单位 DC 域组件
  • 将 NSString 转换为 NSDate - 格式错误

    您好 我正在尝试将字符串转换为 NSDate 格式 但它返回格式错误的值 并且返回的值也是 GMT 时间 NSString myString 10 30 AM NSDateFormatter dateFormatter NSDateForm
  • 取消Javascript超时

    我在 Web 服务器上托管了一个很长的进程 该事件是通过用户单击按钮从网页触发的 一些 Javascript 通过 Ajax 定期轮询 以检查服务器端操作是否已完成 为此 我使用setInterval 以及稍后clearInterval停止
  • Chrome中如何通过iframe订阅pushManager?

    我可以通过 iframe 注册 Service Worker 当我尝试运行 pushManager subscribe 时 我有 DOMException Registration failed permission denied 此问题仅
  • stdin stdout python:如何重复使用同一输入文件两次?

    我对 Python 很陌生 甚至对 stdin stdout 方法也很陌生 尽管如此 我需要使我的脚本可用于 UNIX 命令 以便可以使用我的脚本一次处理 2 个输入文件 该脚本与命令行参数完美配合 newlist def f1 def f
  • 避免在 ASP.NET MVC 中使用会话状态是一个好习惯吗?如果是,为什么以及如何?

    它没有明确地写在某处 但在阅读了一些关于 ASP NET MVC 的博客后我有这样的感觉 只是好奇 就想在这里问一下 UPDATE 我不是在询问服务器上的内存 存储 RAM 问题 对于他们来说 有一个解决方案可以将会话存储在进程外 我知道
  • WPF MDI 应用程序中的组合根在哪里?

    在传统的 MDI 应用程序中 当命令发生时 例如按下功能区按钮 将创建一些对象 表单 因此它可能是一个组合点 我对此类应用程序中的组合根感到困惑 我在某处读到我们可以使用视图模型定位器看起来像服务定位器图案 如您所知 服务定位器模式受到了一
  • 用户定义的异常是受控异常或非受控异常

    在我的 Web 应用程序中创建了一个用户定义的异常 它扩展为 Exception 它是已检查还是未检查的异常 public class InvalidDataException extends Exception public Invali
  • 我想在 UIAlertView 上显示 UIProgressView

    我想在 UIAlertView 上显示 UIProgressView 以显示文件上传的处理情况 但我搜索了太多 也找到了该链接 但仍然无法做到这一点 我不明白这个 如果有人知道最简单的方法 请告诉我 我在执行此操作时遇到了问题 最终得到了以
  • CSS3 微调器、预加载器

    我想用 CSS3 构建一个动画旋转器 它的行为应该像这样 在最后一个状态之后 它应该像第一个状态一样重新开始 我设法使用此处解释的技术创建圆圈 堆栈溢出问题 现在 怎样才能我在所描述的状态之间设置旋转器的动画 我不知道如何为剪辑矩形属性设置
  • IllegalArgumentException:从视图加载位图时宽度和高度必须 > 0

    我正在尝试使用 ImageViewTouch 这是一个支持捏缩放的库 我可以使用 Canvas 在图像上绘图 但是当我缩放图像时 绘图会消失 为此 我尝试将视图转换为位图并为同一视图设置 theImageBitmap 这是代码 mImage
  • Chrome 自动填充会导致文本字段标签和值的文本框发生冲突

    在 React 中 自动完成 Chrome 值不会立即触发 onChange 事件 因此 在页面初始加载期间 它会导致 MUI TextField Label 和实际值发生冲突 我该如何解决这个问题 尝试了多种方法 InputLabelPr
  • 在元素中创建响应式对角线

    不确定这是否可行 但是如何创建一条从元素左上角到右下角的 1px 对角线 无论该元素的宽度和 或高度如何 您可以通过多种方式做到这一点 1 背景图片 1 1 SVG 您可以直接创建 svg 作为内联代码并使用它来绘制线条 使用它你可以实现漂
  • .NET 反射 - 从实例属性获取声明类类型

    是否可以从属性实例获取类的类型 我尝试了以下方法 var model new MyModel SomeValueForMyProperty Type declaringType model MyProperty GetType Declar
  • 将单词添加到一行的最后一个单词之前

    我想在一行的最后一个单词前面添加一个目录名称 该行具有以下格式 100644 bfadfab6f98b8fa1e9989fe16b2bf0fb13ffd39e 0 IoneFile where I表示一个tab and 表示行尾 该行是由生
  • 如何在 Typescript Enum 中查找具有值的键?

    我想搜索一个具有值的枚举 并获取它的键 这就是我现在所拥有的 private find value MyEnum string for const key in MyEnum if value MyEnum key return key r
  • 如何在 java 中将节点附加到现有 XML 文件

    public static void addALLToXML Collection
  • return 语句上的 Perl 引用和取消引用

    我正在学习 perl 并且有一个与参考文献相关的问题 我正在研究 get id 函数 如果我回来 self gt id 我将得到两个无法运行的数组地址 c 以我的理解 a是参考和 a 是数组并且 a 0 会返回值0吗 这是我第一次在 sta
  • bitParity - 查找整数中的奇数位

    我必须创建一个函数bitParity int x 接受一个整数并返回1如果有奇数个0的位形式为x and 0否则 Ex bitParity 5 0 bitParity 7 1 然而 这很困难 因为我只能使用位运算符来解决这个问题 lt lt