思路: 整數除以2,每次將餘數儲存起來,商迴圈除以2,直到商為0為止,然後將所有餘數逆序列印出來。
例子:23/2 商: 11 餘數: 1
11/2 商: 5 餘數: 1
5/2 商: 2 餘數: 1
2/2 商: 1 餘數: 0
1/2 商: 0 餘數: 1
**實現:
public stringbuilder inttobinary(int deci) throws exceptionoutput: 10111return binary.reverse();
}public static void
main(string args)catch (exception e)
}
思路: 小數乘以2,每次乘完取整(1或者0)放到陣列中,然後將剩餘小數部分繼續乘以2,直到小數部分為0或者達到所要求的精度為止,再講所有餘數按順序列印出來。
例子:0.813*2 整數部分: 1 小數部分: 0.626
0.626*2 整數部分: 1 小數部分: 0.252
0.252*2 整數部分: 0 小數部分: 0.504
0.504*2 整數部分: 1 小數部分: 0.008
0.008*2 整數部分: 0 小數部分: 0.016
**實現:
public stringbuilder doubletobinary(double d) throws exceptionpublic stringbuilder doubletobinary(double d,int count) throws exception
if(count==0)
double multi=0
; //
每次的乘積
stringbuilder res=new stringbuilder();
while(count>=0)
else
count--;
} return res;
}
思路: 整數和小數分別轉換,然後將兩個陣列以小數點為分割分別列印出來。
例子:**實現:
public stringbuilder alltobinary(double deci) throws exception
public static void輸出:main(string args)catch (exception e)
10111
0.00111
10111.00111
二進位制轉十進位制
二進位制轉十進位制方法很多,如字元陣列,指標法等 下面用字串函式的方法實現 二進位制轉十進位制 主要用 到 string函式性質及pow求乙個數的n次方的函式過載 by adengou 2010.08.04 win7 dev c 5.0 vs 2010 通過 include include incl...
十進位制轉二進位制
includeint dg unsigned n,int c 注意 引數型別是unsigned int main 陣列全部初始化為0 printf d n sizeof int unsigned temp,u temp u 4294967295u int tu int u printf u u,tu...
十進位制轉二進位制
宣告 最後一種降冪法頗具魅力,而且與方法二有異曲同工之妙 十進位制轉二進位制的幾種方法 輸入 乙個無符號的十進位制整數 輸出 對應十進位制的二進位制顯示 例如 input 10,output 1010 方法一 除二取餘法 forinput 0 cout input 2 input 2 end 輸出順...