Originariamente inviato da Vincent
Come??? :master:
La soluzione più stupida (nel senso di banale ... poco efficiente):

codice:
String str = Long.toBinaryString(numero);

while (str.length() < 64) {
    str = "0" + str;
}
Una soluzione elegante:
codice:
public static String longToBinStr(long val) {
    char[] buf = new char[64];

    for (int i = 0; i < 64; i++, val>>>=1) {
        buf[63-i] = (val & 1) != 0 ? '1' : '0';
    }

    return new String(buf);
}