int x = 12;
int y = 23;
String xx = Integer.toBinaryString(x);
String yy = Integer.toBinaryString(y);
System.out.println("二进制数表示12:" + xx);
// result:10111
// 23(十进制)转换为二进制计算方法:23/2=11余1,11/2=5余1,5/2=2余1,2/2=1余0,1/2=1余1>>>>>>>>result:10111
// 10111(二进制)转换为十进制计算方法:1*2^0 + 1*2^1 + 1*2^2 + 0*2^3 + 1*2^4 = 1+2+4+16 = 23
System.out.println("二进制数表示23:" + yy);
// result:17
//23(十进制)转换为十六进制计算方法:0-9与A-F来表示,A表示10,B表示11,C表示12...,23/16=1余7,1/16=1余1>>>>>>>>result:17
//17(十六进制)转换为十进制计算方法:7*16^0 + 1*16^1 = 7+16 = 23
System.out.println("十六进制数表示23:" + Integer.toHexString(23));
// 1100|10111=11111(二进制)=31(十进制)
System.out.println("x|y:二进制表示为:11111,十进制表示为:" + (x | y));