位操作 Java
Bit Manipulation Java
所以,假设我设置了字节
0101 0101 0110 0010 1101 0100 1111 0010 1011 0010 0101 1010
如何独立获取每个字节?例如,打印它们使输出为:
0101
0101
0110
0010
1101
0100
1111
1101
0010
1011
0010
0101
1010
非常感谢!
一些代码:
protected String parse(StringBuilder builder) {
String pBinary = getBinary(p);
String qBinary = getBinary(q);
}
private String getBinary(BigInteger integer) {
StringBuilder builder = new StringBuilder();
for (byte bytes : integer.toByteArray()) {
builder.append(" ");
String binary = Integer.toBinaryString(Byte.toUnsignedInt(bytes));
if (binary.length() != 8)
for (int i = binary.length(); i < 8; i++)
builder.append(0);
builder.append(binary);
}
return builder.substring(1);
}
p 和 q 是大整数。
想法是在 StringBuilder 的开头插入两个二进制文件的 "Mixture"。
所以如果二进制1是01101001 01010111并且二进制2是10111010,
混合物将导致 01101001 00000000 01010111 10111010
如果您有一个字符串,其中的单词由空格分隔,您可以这样做
String[] words = myString.split("\s+")
更详细的答案在这里,How do I split a string with any whitespace chars as delimiters?