无法将十进制值转换为二进制

Anth数学:

我正在制作一个程序,将十进制值转换为二进制,反之亦然。我已经知道如何将二进制转换为十进制,但是我在将十进制转换为二进制时遇到了麻烦。我已经看到了很多有关如何执行此操作的代码,但是其中大多数涉及使用数组。我无法使用数组,因为该程序具有GUI,而JLabel无法打印数组。我已经找到了适用于某些数字的代码,但不适用于其他数字。这是代码:

public void convertBinary (int decimal)
    {
        String binary = "";
        int remainder;
        
        while (decimal != 0)
        {
            remainder = decimal % 2;
            decimal /= 2;
            binary += remainder;
        }
        lblDecBinAns.setText(String.valueOf(binary));
                
        
    }

给定的数字由用户输入(“十进制”),当用户按下按钮时将使用该数字。我不知道是否可以对此代码进行调整以使其正常工作。也许有完全不同的算法可以解决此问题,或者有一种使用JLabel打印阵列的方法。我已经为此困扰了一段时间,感谢您的帮助。谢谢。

PS我知道.toBinary函数,但是我必须为此创建自己的方法。

Antoniossss:

完成后,唯一缺少的就是反转binary字符串

int decimal=10;
    String binary = "";
    int remainder;

    while (decimal != 0)
    {
        remainder = decimal % 2;
        decimal /= 2;
        binary += remainder;
    }
    System.out.println(new StringBuilder(binary).reverse().toString());

产量

1010 结果

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章