我正在使用像这样的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。我该怎么做?

最佳答案

只需添加2 ^ 17并substring整个字符串:

anyLines[i] = Integer.toBinaryString(131072 + (Integer.parseInt(anyLines[i]))).substring(1, 17);

08-16 08:22