有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

转换器Java将十进制转换为任意二进制位

我正在做一个将十进制数转换成二进制数的项目。但我有一个问题,如何将任何输入的数字转换为二进制(我使用的是数组),下面是我的代码:

    public void Decimal2Binary(int a)
{
    int result []=new int[8];
    for (int i = 7;i >=0; i--,a/=2) {
        result[i]=a%2;
}

我不需要它只为8位二进制结果,但我需要它为任何大小


共 (2) 个答案

  1. # 1 楼答案

    实际上,您没有指定输出,但这里是

    假设未签名(看起来像是这样)

    StringBuilder result = new StringBuilder();
    while(a > 0) {
        result.append(a % 2);
        a = a / 2; // This will round down automatically. ;)
    }
    

    如果您需要处理负数,我会使用&;操作员-您也可以使用>&燃气轮机;对于分区,但我将把优化留给编译器,以使源代码更具可读性

    显然,您可以将其更改为任何形式的append

  2. # 2 楼答案

    使用此函数的整数。toBinaryString(int)。。。 你为什么希望它是一个数组? 不能是数组列表或大小数