java - 在二进制字符串的左侧添加零 - Java

标签 java binary pad

你能帮我找到一种在二进制字符串左侧添加零的方法吗?我认为这是可行的,但它只是打印没有 0 的二进制文件。

package flipping_bits;
import java.io.*;
import java.util.*;

public class Solution {

public static void main(String[] args) {
    Scanner input = new Scanner(System.in);

    int cases = input.nextInt();        //Número de casos

    int[] dec_nums=new int[cases];      //Arreglo contenedor de casos
    for (int i=0;i<cases;i++){
        dec_nums[i]=input.nextInt();    //Almacenamiento de casos
    }

    int[] bin_nums=new int[cases];  //Arreglo con dec-bin
    for (int i=0;i<cases;i++){              
        bin_nums[i]=Integer.parseInt(String.format("%032d",(Integer.parseInt(Integer.toBinaryString(dec_nums[i]))))); //Convertir cada decimal en el arreglo a binario
    }


    //Imprimir binarios
    for (int i=0; i<cases;i++){
        System.out.println(bin_nums[i]);
    }

}
}

最佳答案

如果我正确理解你的问题,只需将 bin_numsint[] 更改为 String[] 并且不解析您格式化的整数,您最终将得到一个整数的 32 位表示

public static void main(String[] args) {


    Scanner input = new Scanner(System.in);

    int cases = input.nextInt();        //Número de casos

    int[] dec_nums=new int[cases];      //Arreglo contenedor de casos
    for (int i=0;i<cases;i++){
        dec_nums[i]=input.nextInt();    //Almacenamiento de casos
    }

    String[] bin_nums=new String[cases];  //Arreglo con dec-bin
    for (int i=0;i<cases;i++){              
        bin_nums[i]=(String.format("%032d",(Integer.parseInt(Integer.toBinaryString(dec_nums[i]))))); //Convertir cada decimal en el arreglo a binario
    }


    //Imprimir binarios
    for (int i=0; i<cases;i++){
        System.out.println(bin_nums[i]);
    }

}

这是我的测试用例,其结果是:

3
1
2
3
00000000000000000000000000000001
00000000000000000000000000000010
00000000000000000000000000000011

但是假设您可能正在尝试解决一些通常需要您以最佳方式解决的算法问题,那么这可能不会成功,并且可能会超出时间限制。

由于名为 Solution 的类和代码风格,这看起来像是一个练习,例如:测试用例、测试用例数量...

关于java - 在二进制字符串的左侧添加零 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40853964/

相关文章:

java - 从 jar 导入 java 库类时,这是否被视为静态链接?还是动态的?

java - 作为没有事务的批处理作业的 Spring Roo 项目

r - 如何在 R 列的开头插入 "1 "?

numpy - numpy 中有简单的 pad 吗?

FFmpeg pad filter 计算错误的宽度

java - OBR服务器实现

java - 同一 JavaVM 中的多个沙箱

python - 如何以十六进制字节解包/解码十六进制字符串?

c - C 中的移位运算符前置一个而不是零

vb.net - 确定整数中哪些位是高位?