今天作題碰上一道其中須要十進制與二進制之間的轉換的問題。而後翻閱資料得知,在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
}字符