public class BitOpt {
public static void main(String[] args) {
//int 4 32
// 32 , ,0 1
int m = 61; //111101
// : 32 0 , 31 0 31
// 0000000 00000000 00000000 00111101
// 0 61
//00000000 00000000 00000000 00111101
int n = -61;
// : 32 1 , 31 ,
//1. 61 0 31
// 0000000 00000000 00000000 00111101
//2. , 0 1,1 0,
// 1111111 11111111 11111111 11000010
//3. 2 ( ) 1
// 1111111 11111111 11111111 11000011
// 1 -61
//11111111 11111111 11111111 11000011
}
}
public class BitOpt {
public static void main(String[] args) {
// 7 :& | ^ ~ << >> >>>
// , 1 true,0 false ,
//^ 0 1, 1-1 0-0 0,1-0 0-1 1
int r = 0;
int a = 61; //00000000 00000000 00000000 00111101
int b = -4; //11111111 11111111 11111111 11111100
r = a & b;
//00000000 00000000 00000000 00111101 : 61 a
//11111111 11111111 11111111 11111100 : -4 b
//--------------------------------------------- &
//00000000 00000000 00000000 00111100 : 60 r
r = a | b;
//00000000 00000000 00000000 00111101 : 61 a
//11111111 11111111 11111111 11111100 : -4 b
//--------------------------------------------- |
//11111111 11111111 11111111 11111101 : -3 r
r = a ^ b;
//00000000 00000000 00000000 00111101 : 61 a
//11111111 11111111 11111111 11111100 : -4 b
//--------------------------------------------- ^
//11111111 11111111 11111111 11000001 : -63 r
r = ~a;
//00000000 00000000 00000000 00111101 : 61 a
//--------------------------------------------- ~
//11111111 11111111 11111111 11000010 : -62 r
}
}