c - 打开和关闭位的最优雅方式
问题描述
我有一个寄存器,它可以是 0x02 或 0x01(0010 或 0001)。在单个操作中设置位的最优雅方法是什么?例如,如果寄存器当前为 0x02,我需要关闭第 2 位并打开第 1 位。
非常感谢
解决方案
x ^= 3
将 1 更改为 2 并将 2 更改为 1。^
执行异或 (XOR) 操作。
推荐阅读
- r - Rcpp (Eigen),重复或重复行
- flutter - 带有动态高度项的 ListView 的抽动滚动指示器
- push-notification - HMS 取消通知,标签不起作用((HMS 推送工具包)
- xamarin - 如何处理链接打开新选项卡的 Xamarin Webview?
- flutter - 从多个类访问构建上下文以在 Flutter 中进行应用本地化的最佳实践?
- java - 为什么 volatile 没有添加到 FileInputStream 的通道中?
- firebase - 如何在集成测试中重置 Firestore 模拟器
- c# - 即使单元格上有图片框,如何仍然能够单击 dataGridView 的单元格?
- php - 根据给定的顺序重新排列对象
- angular - Angular 10 测试 ViewContainerRef 的注入器返回未定义