【发布时间】:2013-03-19 00:40:19
【问题描述】:
假设我想在 32 位 / 64 位整数(从零开始,位索引 = 4)中切换第 5 位。最有效的方法是什么?
字节长度示例:01001010 → 01011010
感兴趣的语言是:
- 动作脚本 3
- C#
- Java:
-
int x = y ^ (1 << n);提示 redcayuga
-
- C/C++
【问题讨论】:
标签: binary integer boolean-logic
假设我想在 32 位 / 64 位整数(从零开始,位索引 = 4)中切换第 5 位。最有效的方法是什么?
字节长度示例:01001010 → 01011010
感兴趣的语言是:
int x = y ^ (1 << n); 提示 redcayuga
【问题讨论】:
标签: binary integer boolean-logic
你想要 EXCLUSIVE OR 1. 在 java 中:
x = y ^ ( 1我从右到左计算位,即从最低有效位开始。我从零开始。
【讨论】:
n = 0 已经是第一位了。