Java中十进制与二进制之间的转换

  今天做题碰上一道其中需要十进制与二进制之间的转换的问题。然后翻阅资料得知,在java中的integer类中就有一个方法可以实现这个操作,这个方法的名字是toBinaryString(),返回值类型是字符串。但是为了学好java,不仅仅要知道有这么一种方法,更重要的是要知道怎么实现这种方法。

  首先需要弄明白十进制转化为二进制的数学方法,就是把十进制的原始数连续除以二取余数,然后得到的余数从下到上组合起来就是该数的二进制表示。其实这也不难理解。首先,最后一个余数肯定是这个数能除掉的最大的二的次幂,那么这个“1”的位数确定了,然后再往后随着2的次幂的减少,数位的值从左至右也就确定了。

  这样就可以实现十进制到二进制之间的转换了。

 

  private String toBinaryString(int i){

    String result="";

    while(i>1){
      int j=i%2;
      i=i/2;
      result=j+result;

    }
    result=i+result;//最后的商也要算进来
    return result;

}

  

  

原文地址:https://www.cnblogs.com/lichengze/p/5712567.html