我们日常写的数字是什么数据啊。
比方说,我输入123456.把这个数据转成二进制的怎么做啊。方法怎么实现啊。 

解决方案 »

  1.   


    System.out.println("123456的2进制: "+Integer.toBinaryString(123456));
      

  2.   

    这要看类型的
    比如
    int a = 123456; //这是整型数据,还有short,long型等等
    String s = "123456"; //这是字符串类型的数据
    你所谓的转换成二进制是指什么,是指它对应的内存信息还是指它对应的ascii码?
    如果是整型的二进制的表现,那就用1L的就可以了
      

  3.   

    直接复制源码:public static String toBinaryString(int i) {
    return toUnsignedString(i, 1);
        } private static String toUnsignedString(int i, int shift) {
    char[] buf = new char[32];
    int charPos = 32;
    int radix = 1 << shift;
    int mask = radix - 1;
    do {
        buf[--charPos] = digits[i & mask];
        i >>>= shift;
    } while (i != 0); return new String(buf, charPos, (32 - charPos));
        }
      

  4.   

    如果我自己写就这样int a = 12345;
     StringBuffer sb = new StringBuffer();
     for(int i = 0;i<32;i++) {
     sb.insert(0, (a&1));
     a >>>= 1;
     }
     System.out.println(sb);
      

  5.   

    Integer.toBinaryString(123456);
    jdk中就是这个方法。很方便呀。