1

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

4

2 回答 2

6

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

anyLines[i] = Integer.toBinaryString(131072 + (Integer.parseInt(anyLines[i]))).substring(1, 17);
于 2011-05-24T03:27:49.393 回答
2

设置二进制字符串后,只需检查字符串长度并将足够的零添加到字符串的前面,使其长度为 16 个字符。

于 2011-05-24T03:28:57.640 回答