16位二进制前导零

lrv*_*ius 1 java binary translate

我正在使用像这样的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;
            }
Run Code Online (Sandbox Code Playgroud)

但是当我写一个文件时,二进制文件只有2位长,虽然我想要一个16位二进制文​​件,所有的零.例如,2被翻译为10,虽然我想要0000000000000010.我怎么能这样做?

aka*_*ppa 6

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

anyLines[i] = Integer.toBinaryString(131072 + (Integer.parseInt(anyLines[i]))).substring(1, 17);
Run Code Online (Sandbox Code Playgroud)

  • 很高兴你喜欢它!也许你可以接受它作为答案:D (3认同)