十進制轉換二進制演算法
Ⅰ 10進制互轉2進制,如何計算請舉例
二進制數有兩個特點:它由兩個基本字元0,1組成,二進制數運算規律是逢二進一。
為區別於其它進制數,二進制數的書寫通常在數的右下方註上基數2,或加後面加B表示。
例如:二進制數10110011可以寫成(10110011)2,或寫成10110011B,對於十進制數可以不加註.計算機中的數據均採用二進制數表示,這是因為二進制數具有以下特點:
1) 二進制數中只有兩個字元0和1,表示具有兩個不同穩定狀態的元器件。例如,電路中有,無電流,有電流用1表示,無電流用0表示。類似的還比如電路中電壓的高,低,晶體管的導通和截止等。
2) 二進制數運算簡單,大大簡化了計算中運算部件的結構。
二進制數的加法和乘法運算如下:
0+0=0 0+1=1+0=1 1+1=10
0×0=0 0×1=1×0=0 1×1=1
由於二進制數在使用中位數太長,不容易記憶,所以又提出了十六進制數.
⑴二進制數轉換成十進制數
[例](11111001001)2=1×210+1×29+1×28+1×27+1×26+0×25+0×24
+1×23+0×22+0×21+1×20
=(1993)10
(1011.101)2=1×23+0×22+1×21+1×20+1×2-1+0×2-2+1×2-3 =(11.625)10
⑵十進制數轉換成二進制數
①十進制整數轉換成二進制整數(除基(2)取余法)
[例]
2 1993
2 996 …………1…………0位 低位二進制整數
2 498 …………0…………1位
2 249 …………0…………2位
2 124 …………1…………3位
2 62 …………0…………4位
2 31 …………0…………5位
2 15 …………1…………6位
2 7 …………1…………7位
2 3 …………1…………8位
2 1 …………1…………9位
0 …………1…………10位 高位二進制整數
注意,除到0商時結束2除步,回寫(從高位回到低位)余數便是所求二進制數,即:(1993)10=(11111001001)2
②十進制純小數轉換成二進制純小數(乘基(2)取整法)
[例]
0.625
2
2-1位… 1. 250 高位二進制小數
2
2-2位… 0. 500
2
2-3位 1.000 低位二進制小數
純小數位被全乘為0時,得准確二進制純小數;否則(純小數位永遠被2乘不為全是0)只能化成滿足某一精確度要求的二進制小數的近似值。例中(0.625)10=(0.101)2是准確值,其中101是順寫的積整位(從高位到低位)數。