天天看點

二進制十進制互相轉換

1)十進制(整數)->二進制

概念:十進制整數轉換為二進制整數采用"除2取餘,逆序排列"法。具體做法是:用2去除十進制整數,可以得到一個商和餘數;再用2去除商,又會得到一個商和餘數,如此進行,直到商為零時為止,然後把先得到的餘數作為二進制數的低位有效位,後得到的餘數作為二進制數的高位有效位,依次排列起來。

用2輾轉相除至結果為1  

将最後的1和餘數從下向上倒序寫 就是結果

例程:208

208/2 = 104餘0

104/2=52餘0

52/2=26餘0

26/2=13餘0

13/2=6餘1

6/2=3餘0

3/2=1餘1

故十進制208的二進制結果為:11010000

2)十進制(小數)->二進制

概念:十進制小數轉換成二進制小數采用"乘2取整,順序排列"法。

具體做法是:用2乘十進制小數,可以得到積,将積的整數部分取出,再用2乘餘下的小數部分,又得到一個積,再将積的整數部分取出,如此進行,直到積中的小數部分為零,或者達到所要求的精度為止。  

然後把取出的整數部分按順序排列起來,先取的整數作為二進制小數的高位有效位,後取的整數作為低位有效位。

例程:0.625

(0.625)10= (0.101)2  

0.625  X 2  = 1.25取1

0.25  X 2  = 0.5取0

0.5  X 2  = 1.0取1

故十進制0.625的二進制結果為:0.101

3)二進制->十進制

概念:由二進制數轉換成十進制數的基本做法是,把二進制數首先寫成權重系數展開式,然後按十進制加法規則求和。這種做法稱為"按權相加"法。 

從最後一位開始算,依次列為第0、1、2...位  第n位的數(0或1)乘以2的n次方,得到的結果相加就是答案

例程:100101110  

0*(2的0次方)=0

1*(2的1次方)=2

1*(2的2次方)=4

1*(2的3次方)=8

0*(2的4次方)=0

1*(2的5次方)=32

0*(2的6次方)=0

0*(2的7次方)=0

1*(2的8次方)=256

故二進制100101110 的十進制結果為:256+32+8+4+2=302