如何找到具有相同二进制子字符串的下一个整数?

时间:2012-07-11 14:57:36

标签: math binary substring

考虑两个数字的二进制表示:

5:  “101”  
10: “1010”

“101”“1010”的子字符串,但“00”“111”不是。

是否可以通过数学查找包含特定子字符串的数字?

2 个答案:

答案 0 :(得分:1)

不确定您要在这里完成什么,但向左移位乘以2 相同。因此,如果你想获得具有相同“子串”的“下一个”整数,你只需乘以2。

3: 11 
*2=
6: 110

18: 10010
*2=
36: 100100

答案 1 :(得分:0)

对你的方法进行一些改进:P但你可以将数字转换为字符串并使用某种find方法。它不通过数学做到这一点?但它完成了工作

public static void main(String[] args){

    Integer myNum = 1010;
    String myNumString = Integer.toString(myNum);
    System.out.println(myNumString.matches(".*10.*"));
}