由二進制數轉換成十進制數的基本做法是,把二進制數首先寫成加權系數展開式,然后按十進制加法規則求和。這種做法稱為"按權相加"法。
例1105 把二進制數110.11轉換成十進制數。
十進制數轉換為二進制數時,由於整數和小數的轉換方法不同,所以先將十進制數的整數部分和小數部分分別轉換后,再加以合並。
1. 十進制整數轉換為二進制整數
十進制整數轉換為二進制整數采用"除2取余,逆序排列"法。具體做法是:用2去除十進制整數,可以得到一個商和余數;再用2去除商,又會得到一個商和余數,如此進行,直到商為零時為止,然后把先得到的余數作為二進制數的低位有效位,后得到的余數作為二進制數的高位有效位,依次排列起來。
例1107 把 (173)10 轉換為二進制數。
解:
十進制小數轉換成二進制小數采用"乘2取整,順序排列"法。具體做法是:用2乘十進制小數,可以得到積,將積的整數部分取出,再用2乘余下的小數 部分,又得到一個積,再將積的整數部分取出,如此進行,直到積中的小數部分為零,或者達到所要求的精度為止。
然后把取出的整數部分按順序排列起來,先取的整數作為二進制小數的高位有效位,后取的整數作為低位有效位。
【例1108】把(0.8125)轉換為二進制小數。
解:
解: 由[例1107]得(173)10=(10101101)2
由[例1108]得(0.8125)10=(0.1101)2
把整數部分和小數部分合並得: (173.8125)10=(10101101.1101)2
參考:http://zyk.thss.tsinghua.edu.cn/29/elecTec/resource/knowledge/zsd11/z1103.htm
十進制小數轉換成二進制小數采用"乘2取整,順序排列"法。具體做法是:用2乘十進制小數,可以得到積,將積的整數部分取出,再用2乘余下的小數部分,又 得到一個積,再將積的整數部分取出,如此進行,直到積中的整數部分為零,或者整數部分為1,此時0或1為二進制的最后一位。或者達到所要求的精度為止。
然后把取出的整數部分按順序排列起來,先取的整數作為二進制小數的高位有效位,后取的整數作為低位有效位。
十進制小數轉二進制
如:0.625=(0.101)B
0.625*2=1.25======取出整數部分1
0.25*2=0.5========取出整數部分0
0.5*2=1==========取出整數部分1
再如:0.7=(0.1 0110 0110...)B
0.7*2=1.4========取出整數部分1
0.4*2=0.8========取出整數部分0
0.8*2=1.6========取出整數部分1
0.6*2=1.2========取出整數部分1
0.2*2=0.4========取出整數部分0
0.4*2=0.8========取出整數部分0
0.8*2=1.6========取出整數部分1
0.6*2=1.2========取出整數部分1
0.2*2=0.4========取出整數部分0
參考:http://whudongyang.iteye.com/blog/1208120