二進制表示一般用原碼表示巾陕,計算加減時用補碼表示毕荐。
這里的二進制小數(shù)是用的定點數(shù)表示,不是用浮點數(shù)表示的猩系。
0X01 二進制轉(zhuǎn)十進制
- 由二進制數(shù)轉(zhuǎn)換成十進制數(shù)的基本做法是甲锡,把二進制數(shù)首先寫成加權(quán)系數(shù)展開式兆蕉,然后按十進制加法規(guī)則求和。這種做法稱為"按權(quán)相加"法缤沦。
例子:
[01101100]2=0×27+1×26+1×25+0×24+1×23+1×22+0×21+0×20=10810
[101.101]2=1×22+0×21+1×20+1×2-1+0×2-2+1×2-3=5.625
注:這里的二進制小數(shù)是原碼表示的虎韵,使用的定點數(shù)表示,沒有用浮點數(shù)表示
0X02 十進制轉(zhuǎn)二進制
1.十進制整數(shù)轉(zhuǎn)二進制
十進制整數(shù)轉(zhuǎn)換為二進制整數(shù)采用"除2取余缸废,逆序排列"法包蓝。具體做法是:用2去除十進制整數(shù),可以得到一個商和余數(shù)企量;再用2去除商养晋,又會得到一個商和余數(shù),如此進行梁钾,直到商為零時為止绳泉,然后把先得到的余數(shù)作為二進制數(shù)的低位有效位,后得到的余數(shù)作為二進制數(shù)的高位有效位姆泻,依次排列起來零酪。
例子:求17310的二進制
2.十進制小數(shù)轉(zhuǎn)二進制
十進制小數(shù)轉(zhuǎn)換成二進制小數(shù)采用"乘2取整,順序排列"法拇勃。具體做法是:用2乘十進制小數(shù)四苇,可以得到積,將積的整數(shù)部分取出方咆,再用2乘余下的小數(shù) 部分月腋,又得到一個積,再將積的整數(shù)部分取出瓣赂,如此進行榆骚,直到積中的小數(shù)部分為零,或者達到所要求的精度為止煌集。
然后把取出的整數(shù)部分按順序排列起來妓肢,先取的整數(shù)作為二進制小數(shù)的高位有效位,后取的整數(shù)作為低位有效位苫纤。
例子:求0.812510的二進制
例子:173.812510=17310+0.812510=101011012(原)+0.11012(原)=10101101.11012(原)
-1.2510=10000001.012(原)
十進制小數(shù)轉(zhuǎn)換成二進制小數(shù)采用"乘2取整碉钠,順序排列"法纲缓。具體做法是:用2乘十進制小數(shù),可以得到積喊废,將積的整數(shù)部分取出祝高,再用2乘余下的小數(shù)部分,又 得到一個積污筷,再將積的整數(shù)部分取出褂策,如此進行,直到積中的整數(shù)部分為零颓屑,或者整數(shù)部分為1斤寂,此時0或1為二進制的最后一位【镜耄或者達到所要求的精度為止遍搞。
然后把取出的整數(shù)部分按順序排列起來,先取的整數(shù)作為二進制小數(shù)的高位有效位器腋,后取的整數(shù)作為低位有效位溪猿。
十進制小數(shù)轉(zhuǎn)二進制
如:0.62510=0.1012
0.6252=1.25======取出整數(shù)部分1
0.252=0.5========取出整數(shù)部分0
0.5*2=1==========取出整數(shù)部分1
再如:0.710=0.1011001102
0.72=1.4========取出整數(shù)部分1
0.42=0.8========取出整數(shù)部分0
0.82=1.6========取出整數(shù)部分1
0.62=1.2========取出整數(shù)部分1
0.22=0.4========取出整數(shù)部分0
0.42=0.8========取出整數(shù)部分0
0.82=1.6========取出整數(shù)部分1
0.62=1.2========取出整數(shù)部分1
0.2*2=0.4========取出整數(shù)部分0