首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java打印00010 as 8

Java打印00010 as 8
EN

Stack Overflow用户
提问于 2016-05-21 06:19:10
回答 2查看 237关注 0票数 1

有这个问题的解密程序,我正在编写的Java。这是有问题的代码

代码语言:javascript
复制
public static int int_to_int(int input)
{
    int[] value_array = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
            11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
            21, 22, 23, 24, 25, 26};
    int[]bin_array= {00000, 00001, 00010, 00011,
            00100, 00101, 00110, 00111,
            01000, 01001, 01010, 01011, 01100,
            01101, 01110,  01111, 10000, 10001,
            10010,  10011, 10100, 10101, 10110,
            10111, 11000,11001, 11010, 11011};
    for(int i=0; i <27; i++)
    {
        System.out.println("hello");
        if(input==value_array[i])
        {
            System.out.println("returning: " + bin_array[i] + "at: " + i);
            return bin_array[i];
        }

    }
    return -1;
}

下面是一行突出显示的问题

代码语言:javascript
复制
double temp = 00010;
    System.out.println("returning: " + temp);

这将输出

代码语言:javascript
复制
returning: 8

但我想看看

代码语言:javascript
复制
returning: 00010

有什么想法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-21 06:22:03

00010是八进制数,即8.除去所有的前导零。

票数 5
EN

Stack Overflow用户

发布于 2016-05-21 06:29:42

前缀为0的整数被视为八进制,而不是二进制。前缀0b或0B表示二进制,如0B00010。若要以二进制形式打印,请使用

代码语言:javascript
复制
System.out.println("returning: " + Integer.toBinaryString(temp));

或,

代码语言:javascript
复制
System.out.println("returning: " + Integer.toString(temp, 2));

也就是说,假设temp是一个整数,就像在bin_array中一样。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37359577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档