位运算作用
System.out.println(1 | 2 | 8);
System.out.println( 1&11 );
System.out.println( 2&11 );
System.out.println( 3&11 );
System.out.println( 4&11 );
System.out.println( 5&11 );
System.out.println( 6&11 );
System.out.println( 7&11 );
System.out.println( 8&11 );
System.out.println( 9&11 );
System.out.println( 10&11 );
System.out.println( 11&11 );
System.out.println( 12&11 );
System.out.println( 13&11 );
System.out.println( 14&11 );
System.out.println( 15&11 );
System.out.println( 16&11 );
//if ((hasOps & Options.Insert) == Options.Insert)
//组合为或"|"运算,判断是否在组合里,与"&"运算,如果x&y == x,则x在组合中,否则不在组合中
位运算 实验:
System.out.println(0x1);
System.out.println((long)0x1);
System.out.println((long)0x1 << 1);
System.out.println((long)0x1 << 2);
System.out.println((long)0x1 << 3);
System.out.println((long)0x1 | ((long)0x1 << 1) | ((long)0x1 << 2) | ((long)0x1 << 3));
System.out.println(1 | 2 | 4 | 8);
System.out.println((long)0x1 | ((long)0x1 << 1) | ((long)0x1 << 2) | ((long)0x1 << 4));
System.out.println((long)0x1 | ((long)0x1 << 1) | ((long)0x1 << 2) | ((long)0x1 << 3) | ((long)0x1 << 4));
System.out.println( 6&15 );
System.out.println( 16&15 );
System.out.println( 15&15 );
1 1 2 4 8 15 15 23 31 6 0 15
long decimalValue = 0;
Set<Long> LongSet = Sets.newHashSet();
for(int i=0; i<=10; i++) {
if (i == exclude1 || i == exclude2) {
continue;
}
decimalValue = (long)Math.pow(2,i);
LongSet.add(decimalValue);
}
// LongSet 是 bit0~bit10的集合
//bit11+bit12
decimalValue = (long)Math.pow(2,12) + (long)Math.pow(2,11);
LongSet.add(decimalValue)
String hexString = Long.toHexString(decimalValue.longValue();
搜索:与、或运算