------------------------------101111111001001010111010011 (int)
100010000000000000000000100000101111111001001010111010011 (long)
String value = "101111111001001010111010011";
String result = Long.toString(0x1100001L << 32 | Integer.parseInt(value, 2), 2);
long low = 0b101111111001001010111010011L;
long high = 0b100010000000000000000000100000L;
int moveSize = Long.toBinaryString(low).length();
long result = low + (high << moveSize);