从 Java 中获取位作为字符串

Cod*_*lue 0 java bit-manipulation long-integer

如何在 Java 中获取所有 64 位字符串作为字符串?

所以我想做这样的事情 -

long value = 10;
String bits = getBits(value);
System.out.println(bits);
Run Code Online (Sandbox Code Playgroud)

我想输出将是

0000...1010 (64 bits)
Run Code Online (Sandbox Code Playgroud)

不,这不是家庭作业!:)

ζ--*_*ζ-- 5

Long.toString与基数一起使用:

String bits = Long.toString(someLong, 2);
Run Code Online (Sandbox Code Playgroud)

2 指定二进制而不是任何其他基数。

编辑:如果你想向左填充:

String bits = Long.toString(someLong, 2);
StringBuilder sb = new StringBuilder();

for (int toPrepend=10-str.length(); toPrepend>0; toPrepend--) {
    sb.append('0');
}
sb.append(bits);
String output = sb.toString();
Run Code Online (Sandbox Code Playgroud)


小智 5

您可以为其调用该方法:

Long.toBinaryString(long number)
Run Code Online (Sandbox Code Playgroud)