wordpress批量扫描弱口令工具,高级seo是什么职位,科技术语,厦门高端模板建站1 /*常见位操作#xff1a;获取#xff0c;设置#xff0c;清零2 * 3 * */4 public class BitGet {5 /*6 * 该函数实现获取功能7 * 先将1左移动i位#xff0c;左移动0位变成了00000001#xff0c;8 * 然后再和Num十进制12转化为二进制00001100进行获取设置清零2 * 3 * */4 public class BitGet {5 /*6 * 该函数实现获取功能7 * 先将1左移动i位左移动0位变成了000000018 * 然后再和Num十进制12转化为二进制00001100进行运算9 * 00000001 如果是左移动两位就为 00000100
10 * 00001100 00001100
11 * -------- --------
12 * 00000000 00000100
13 * 从而将第i位除外的所有位清零最后检查该结果是不是为零
14 * 不为零则说明第i位为1否则就是零
15 * */
16 public boolean getBit(int num,int i)
17 {
18 return ((num(1i))!0);
19 }
20 /*该函数实现置位功能
21 * 先将1左移动i位得到形如00001000的值接着对这个值和Num进行位或运算
22 * 这样只会改变第i位的值不会影响Num其他位
23 * 如下
24 * 12的二进制码为00001100
25 * 如果把第1个位进行置位得到
26 * 00001100
27 * 00000010
28 * --------
29 * 00001110
30 * 就是把第二位置为1其他的都不变
31 * */
32 public int setBit(int num,int i)
33 {
34 return num|(1i);
35 }
36 /*
37 * 该函数实现清零功能
38 * 该方法与setBit刚好相反首先将1向左移动i位然后对这个值取反得到其掩码
39 * 接着对该掩码和Num执行位与运算这样只会清零num的i位其余位则保持不变
40 * 如下
41 * 12的二进制为00001100
42 * 假设要清零第3位 则有
43 * 1.将1向左移动3位得 00001000
44 * 2.取反 得11110111
45 * 3.进行位与运算
46 * 11110111
47 * 00001100
48 * --------
49 * 00000100
50 * 可以得出只是对第三位清零其他保持不变
51 * */
52 public int clearBit(int num,int i)
53 {
54 int mask~(1i);
55 return num mask;
56 }
57 public static void main(String[] args) {
58 // TODO Auto-generated method stub
59 BitGet bg new BitGet();
60 boolean flagbg.getBit(12, 3);
61 System.out.println(flag);
62 int value bg.setBit(12, 1);
63 System.out.println(置位第1位为value);
64 valuebg.clearBit(12, 3);
65 System.out.println(清零第3位为value);
66
67 }
68
69 } 转载于:https://www.cnblogs.com/luoweiKnowledge/p/3960715.html