【问题标题】:java convert decimal to any binary bitjava-将十进制转换为任何二进制位
【发布时间】:2014-10-29 06:01:42
【问题描述】:

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

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

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

【问题讨论】:

标签: java converter


【解决方案1】:

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

假设是无符号的(看起来你有)。

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

如果您需要处理负数,我会使用 & 运算符进行按位比较 - 您也可以使用 >> 进行除法,但我将优化留给编译器以使源代码更具可读性。

显然您可以将其更改为任何形式的附加

【讨论】:

  • 如果您真的希望它作为字符串输出,我建议您使用标准功能,但如果您想以任何形式控制这些位,您可以使用它来控制。
【解决方案2】:

使用这个函数 Integer.toBinaryString(int)... 为什么你希望它在一个数组中? 不能是数组列表还是大小数。

【讨论】:

    猜你喜欢
    • 2013-01-24
    • 1970-01-01
    • 1970-01-01
    • 2018-06-24
    • 1970-01-01
    • 2019-01-23
    • 2020-04-03
    • 2012-01-06
    • 1970-01-01
    相关资源
    最近更新 更多