Hello, I found on Javadoc (java.util.Random) the linear congruential generator formula which is: seed = (seed * 0x5DEECE66DL + 0xBL) & ((1L << 48) - 1) I'd like to know why these numbers were chosen (0x5DEECE66D, 0xB), why are they in hexadecimal and why is there a bit-to-bit comparison. Best regards, Damien Wojtowicz