今天做題碰上一道其中需要十進制與二進制之間的轉換的問題。然后翻閱資料得知,在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;
}
