一、 十進位制與二進位制之間的轉換
(1) 十進位制轉換為二進位制,分為整數部分和小數部分
① 整數部分
方法:除2取餘法,即每次將整數部分除以2,餘數為該位權上的數,而商繼續除以2,餘數又為上乙個位權上的數,這個步驟一直持續下去,直到商為0為止,最後讀數時候,從最後乙個餘數讀起,一直到最前面的乙個餘數。下面舉例:
例:將十進位制的168轉換為二進位制
得出結果 將十進位制的168轉換為二進位制,(10101000)2
分析:第一步,將168除以2,商84,餘數為0。
第二步,將商84除以2,商42餘數為0。
第三步,將商42除以2,商21餘數為0。
第四步,將商21除以2,商10餘數為1。
第五步,將商10除以2,商5餘數為0。
第六步,將商5除以2,商2餘數為1。
第七步,將商2除以2,商1餘數為0。
第八步,將商1除以2,商0餘數為1。
第九步,讀數,因為最後一位是經過多次除以2才得到的,因此它是最高位,讀數字從最後的餘數向前讀,即10101000
(2) 小數部分
方法:乘2取整法,即將小數部分乘以2,然後取整數部分,剩下的小數部分繼續乘以2,然後取整數部分,剩下的小數部分又乘以2,一直取到小數部分
為零為止。如果永遠不能為零,就同十進位制數的四捨五入一樣,按照要求保留多少位小數時,就根據後面一位是0還是1,取捨,如果是零,捨掉,如果是1,向入一位。換句話說就是0舍1入。讀數要從前面的整數讀到後面的整數,下面舉例:
例1:將0.125換算為二進位制
得出結果:將0.125換算為二進位制(0.001)2
分析:第一步,將0.125乘以2,得0.25,則整數部分為0,小數部分為0.25;
第二步, 將小數部分0.25乘以2,得0.5,則整數部分為0,小數部分為0.5;
第三步, 將小數部分0.5乘以2,得1.0,則整數部分為1,小數部分為0.0;
第四步,讀數,從第一位讀起,讀到最後一位,即為0.001。
例2,將0.45轉換為二進位制(保留到小數點第四位)
大家從上面步驟可以看出,當第五次做乘法時候,得到的結果是0.4,那麼小數部分繼續乘以2,得0.8,0.8又乘以2的,到1.6這樣一直乘下去,最後不可能得到小數部分為零,因此,這個時候只好學習十進位制的方法進行四捨五入了,但是二進位制只有0和1兩個,於是就出現0舍1入。這個也是計算機在轉換中會產生誤差,但是由於保留位數很多,精度很高,所以可以忽略不計。
那麼,我們可以得出結果將0.45轉換為二進位制約等於0.0111
1) 十進位制轉換為二進位制,需要分成整數和小數兩個部分分別轉換
2) 當轉換整數時,用的除2取餘法,而轉換小數時候,用的是乘2取整法
3) 注意他們的讀數方向
因此,我們從上面的方法,我們可以得出十進位制數168.125轉換為二進位制為10101000.001,或者十進位制數168.45轉換為二進位制數約等於10101000.0111。
(3) 二進位制轉換為十進位制 不分整數和小數部分
方法:按權相加法,即將二進位制每位上的數乘以權,然後相加之和即是十進位制數。例
將二進位制數101.101轉換為十進位制數。
得出結果:(101.101)2=(5.625)10
大家在做二進位制轉換成十進位制需要注意的是
1) 要知道二進位制每位的權值
2) 要能求出每位的值 ([b]注意:小數點後面的權值是2(-1),2(-2)等[/b]).
[b]十進位制轉八進位制和十六進製制的原理同轉二進位制的原理一樣。[/b]
二進位制 八進位制 八進位制 十進位制 十六進製制的介紹
數字在計算機中表現的方式常見的有四種 十進位制 二進位制 八進位制 十六進製制 1.十進位制 1 基數 0,1,2,3,4,5,6,7,8,9 2 進製 逢10進1 3 位權 10的n次方 n從低位到高位從0開始一次增加 1231 110 3 210 2 310 1 110 0 4 程式中的表示方式...
二進位制 八進位制 十進位制 十六進製制之間進行相互轉換
coding utf 8 created on 2015年5月28日 二進位制 八進位制 十進位制 十六進製制之間進行相互轉換 class nsc hex num num hex 二進位制轉十進位制 def bin2dec self,num 根據二進位制的位數來計算 result 0 for i i...
二進位制 八進位制 十進位制 十六進製制
進製 位置計數法是一種記數方式,故亦稱進製記數法 位值計數法,可以用有限的數字符號代表所有的數值。可使用數字符號的數目稱為基數 en radix 或底數,基數為n,即可稱n進製,簡稱n進製。現在最常用的是十進位制,通常使用10個阿拉伯數字0 9進行記數。對於任何乙個數,我們可以用不同的進製來表示。比...