java int is取前两位_java int怎么位移取前几位数字?

展开全部

思路:直接用Integer类的bit运算操作62616964757a686964616fe78988e69d8331333365643565。

如果想得到一个n位数的第k位,写法如下:

(n & ( 1  k ))  k

内部实现就是:

1、创建一个mask,把1左移k位

int mask =  1  k;

2、然后把n右移mask位就是想要得到的结果

int masked_n = n & mask;

int thebit = masked_n  k。

class Tester{

public static void main (String[] args) {

String str = "2013年6月12日,XXXXXXXXXXXXX";

String reg = "([^,,]+)[,,].*$";

String r = str.replaceAll(reg, "$1");

reg = "^((\\d+)年)?((\\d+)月)?((\\d+)日)?$";

String sy = r.replaceAll(reg,"$2");

String sm = r.replaceAll(reg,"$4");

String sd = r.replaceAll(reg,"$6");

int y, m, d;

try {

y = Integer.parseInt(sy);

} catch(Exception e) {

y = 0;

}

try {

m = Integer.parseInt(sm);

} catch(Exception e) {

m = 0;

}

try {

d = Integer.parseInt(sd);

} catch(Exception e) {

d = 0;

}

System.out.format("%d, %d, %d", y, m, d);

}

}


版权声明:本文为weixin_39982537原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。