我正在使用像这样的toBinaryString翻译方法:
for (i=0; i<anyLines.length; i++) {
if (anyLines[i].startsWith("@")) {
anyLines[i] = anyLines[i].replace("@","");
anyLines[i] = Integer.toBinaryString((Integer.parseInt(anyLines[i])));
}
else {
continue;
}
但是当我写一个文件时,二进制文件只有2位长,虽然我想要一个带有全零的16位二进制文件。例如,2被翻译为10,虽然我想拥有0000000000000010.我该怎么做?
答案 0 :(得分:6)
只需添加2 ^ 17和substring
整个字符串:
anyLines[i] = Integer.toBinaryString(131072 + (Integer.parseInt(anyLines[i]))).substring(1, 17);
答案 1 :(得分:2)
设置二进制字符串后,只需检查字符串长度,并在字符串前面附加足够的零,使其长度为16个字符。