当前位置: 代码迷 >> J2SE >> 把数据转成二进制数据,该怎么解决
  详细解决方案

把数据转成二进制数据,该怎么解决

热度:205   发布时间:2016-04-24 02:23:15.0
把数据转成二进制数据
我们日常写的数字是什么数据啊。
比方说,我输入123456.把这个数据转成二进制的怎么做啊。方法怎么实现啊。

------解决方案--------------------
Java code
System.out.println("123456的2进制: "+Integer.toBinaryString(123456));
------解决方案--------------------
这要看类型的
比如
int a = 123456; //这是整型数据,还有short,long型等等
String s = "123456"; //这是字符串类型的数据
你所谓的转换成二进制是指什么,是指它对应的内存信息还是指它对应的ascii码?
如果是整型的二进制的表现,那就用1L的就可以了

------解决方案--------------------
直接复制源码:
Java code
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));    }
------解决方案--------------------
如果我自己写就这样
Java code
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);
------解决方案--------------------
Integer.toBinaryString(123456);
jdk中就是这个方法。很方便呀。
  相关解决方案