<分区>
有人要求我解决以下问题 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 之间的位是什么?你能为我解释一下吗?
我对位运算很熟悉,但这让我很困惑。
<分区>
有人要求我解决以下问题 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 之间滑动?
java - 最优化地计算 Haystack 字符串中针字符串的出现次数?
Python最长/平均 'losing'以字符串中的二进制数字序列运行