十進位制二進位制轉換

2022-07-03 19:06:15 字數 2546 閱讀 1982

二進位制轉十進位制

二進位制的1101轉化成十進位制

1101(2)=1*2o+0*21+1*22+1*23=1+0+4+8=13

轉化成十進位制要從右到左用二進位制的每個數去乘以2的相應次方

不過次方要從0開始

相反 用十進位制的數除以2 每除一下將餘數就記在旁邊

最後按餘數從下向上排列就可得到1101或者用下面這種方法:

13=8+4+0+1=8+4+1(算出等於13就行了)

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

例如二進位制數1000110轉成十進位制數可以看作這樣:

數字中共有三個1 即第二位乙個,第三位乙個,第七位乙個,然後十進位制數即2的2-1次方+2的3-1次方+2的7-1次方即2+4+64=70 次方數即1的位數減一。

2的0次方是1

2的1次方是2

2的2次方是4

2的3次方是8

2的4次方是16

2的5次方是32

2的6次方是64

2的7次方是128

2的8次方是256

2的9次方是512

2的10次方是1024

2的11次方是2048

2的12次方是4096

2的13次方是8192

2的14次方是16384

2的15次方是32768

2的16次方是65536

2的17次方是131072

2的18次方是262144

2的19次方是524288

2的20次方是1048576

十進位制數轉換為二進位制數時,由於整數和小數的轉換方法不同,所以先將十進位制數的整數部分和小數部分分別轉換後,再加以合併。

1. 十進位制整數轉換為二進位制整數

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

十進位制整數轉二進位制

如:255=(11111111)b

255/2=127*****餘1

127/2=63*****=餘1

63/2=31*****==餘1

31/2=15*****==餘1

15/2=7*****===餘1

7/2=3*****====餘1

3/2=1*****====餘1

1/2=0*****====餘1

789=1100010101

789/2=394.5 =1 第10位

394/2=197 =0 第9位

197/2=98.5 =1 第8位

98/2=49 =0 第7位

49/2=24.5 =1 第6位

24/2=12 =0 第5位

12/2=6 =0 第4位

6/2=3 =0 第3位

3/2=1.5 =1 第2位

1/2=0.5 =1 第1位

原理:假設乙個十進位制的數能夠寫成二進位制的edcba形式那麼這個十進位制的數一定等於a(2^0)+b(2^1)+c(2^2)+d(2^3)+e(2^4)將以上數列除以2,所得的餘數是a,商是b(2^0)+c(2^1)+d(2^2)+e(2^3)再除以二,餘數為b。當這個數不能再被2除時,把所有的餘數反過來寫,就得到數列edcba。 

2.十進位制小數轉換為二進位制小數

十進位制小數轉換成二進位制小數採用"乘2取整,順序排列"法。具體做法是:用2乘十進位制小數,可以得到積,將積的整數部分取出,再用2乘餘下的小數部分,又得到乙個積,再將積的整數部分取出,如此進行,直到積中的小數部分為零,此時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

原理:假設乙個十進位制數的小數部分能寫成二進位制數小數0.ab的形式,那麼該二進位制小數轉化為十進位制數就是a/2+b/4。這時將此十進位制分數乘2,所得整數部分即為a。

十進位制二進位制轉換

一 整形裝換成兩個位元組 int value 456 unsigned char byte1 value 0xff00 8 高8位 unsigned char byte2 value 0xff 低8位 nslog byte1 x byte2 x byte1,byte2 byte1 1 byte2 c...

十進位制二進位制轉換

1.十進位制轉二進位制 正整數轉二進位制 除二取餘,然後倒序排列,高位補零 負整數轉二進位制 先是將對應的正整數轉換成二進位制後,對二進位製取反,然後對結果再加一。小數轉換二進位制 對小數點以後的數乘以2,取結果的整數部分 不是1就是0嘍 然後再用小數部分再乘以2,再取結果的整數部分 以此類推,直到...

進製轉換(十進位制轉二進位制)

問題及 輸入乙個非負整數 十進位制 輸出此整數對應的二進位制數 正整數 十進位制 對應的二進位制數 6110 煙台大學計算機與控制工程學院 馮琬淇問題 輸入乙個非負整數 十進位制 輸出此整數對應的二進位制數 include include int main if i 0 i for j i j 0 ...