java - Java 新手 : what are the bits between i and j in 10000000000

标签 java android algorithm bit

<分区>

有人要求我解决以下问题 problem :

给定两个 32 位数字 N 和 M,以及两个位位置 i 和 j。编写一个方法,将 N 中 i 和 j 之间的所有位设置为 M(例如,M 成为 N 的子串,位于 i 并从 j 开始)。 例子: 输入:N = 10000000000,M = 10101,i = 2,j = 6 输出:N = 10001010100

我不明白的是,10000000000 中 i 和 j 之间的位是什么?你能为我解释一下吗?

我对位运算很熟悉,但这让我很困惑。

最佳答案

从示例中可以看出,位是从右到左从 0 开始编号的:

N             1 0 0 0 0 0 0 0 0 0 0
Position #   10 9 8 7 6 5 4 3 2 1 0
                      ^       ^                      
                     j=6     i=2
                      \_______/
                          |
                  These are the bits
                 between i and j in N.

关于java - Java 新手 : what are the bits between i and j in 10000000000,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25366168/

相关文章:

algorithm - 连接四个哈希函数 : Map close elements to close hash keys

Java 1.5 兼容模式将处理所有可能的异常,无一异常(exception)地吞噬/丢失和资源关闭?

java - Android: Out of Memory Exception/decodeResource如何添加到VM Budget中?

Android:是否可以在两个 Activity 之间滑动?

android - 实现一个简单的 Dagger2 示例

java - 最优化地计算 Haystack 字符串中针字符串的出现次数?

Python最长/平均 'losing'以字符串中的二进制数字序列运行

java - 状态更改时删除 TableView 条目

java - 覆盖 Wicket 6 中内置映射器的正确方法

java - 如何从距离和角度获取随机点?