今天作题碰上一道其中须要十进制与二进制之间的转换的问题。而后翻阅资料得知,在java中的integer类中就有一个方法能够实现这个操做,这个方法的名字是toBinaryString(),返回值类型是字符串。可是为了学好java,不单单要知道有这么一种方法,更重要的是要知道怎么实现这种方法。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;while
}字符