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;

}

  

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM