程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 進制轉換,16進制轉10進制

進制轉換,16進制轉10進制

編輯:C#入門知識

進制轉換,16進制轉10進制


一、數值與數制轉換

(一)、數制

計算機中采用的是二進制,因為二進制具有運算簡單,易實現且可靠,為邏輯設計提供了有利的途徑、節省設備等優點。一般計數都采用進位計數:

逢N進一,N是每種進位計數制表示一位數所需要的符號數目為基數。

二進制:逢二進一,借一當二

八進制:逢八進一,借一當八

十六進制:逢十六進一,借一當十六

(二)、數制轉換

轉換原則:不同進位計數制之間的轉換時根據兩個有理數如相等,則兩數的整數和分數部分一定分別相等的原則進行的,即轉換前兩數相等,轉換後仍必相等。

十進制:有10個基數:0,1,2,3,4,5,6,7,8,9

二進制:有2個基數:0,1

八進制:有8個基數:0,1,2,3,4,5,6,7

十六進制:有16個基數:0——9,A,B,C,D,E,F(A=10,B=11,C=12,D=13,E=14,F=15)

二、十進制與其他進制之間的轉換

(一)、十進制與二進制

(1)十進制——二進制(取商補余)

十進制數除以2,除至0時所得余數按反方向寫出,即為二進制數。

例:36除以2得出的商依次是          18  9  4  2  1

所得余數依次是                         0  0  1  0  0  1

將余數從右向左寫                      1  0  0  1  0  0

所得出的100100位二進制數

(2)二進制——十進制

計算公式:a*20+b*21+c*22+...+m*2(n-1)=

以上公式中, a表示二進制數的右邊第一位數,b 、c 、...、m 以此類推。

例:1011001由右至左成為十進制為89

            1*20+0*21+0*22+1*23+1*24+0*25+1*26

          =1+8+16+64

          =89

小技巧:為方便計算可將公式變為以下形式:(注:此小技巧僅適用於較小數字的計算)

二進制右數位數

1

2

3

4

5

6

7

8

十進

制數

1

2

4

8

16

32

64

128

公式原型

  20  

   21   

    22

   23 

    24

  25  

  26  

    27

(二)、十進制與八進制

(1)十進制——八進制

十進制數逐次整除8,直至商為0,所得余數按照相反的順序寫出,即為其八進制數。(同十進制——二進制)

(2)八進制——十進制(同 二進制——十進制)

計算公式:a*80+b*81+c*82+...+m*8(n-1)=

小技巧:

從右第n位

8

7

6

5

4

3

2

1

  8(n-1)

 87   

  86

 85

 84

   83 

  82

  81  

  80  

十進制下的實際數

2097152

262144

32768

4096

512

64

8

1

(三)、十進制與十六進制

(1)十進制——十六進制

十進制數除以十六,

0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13),E(14),F(15)

十進制數逐次整除16,直至商為0,所得余數按相反順序寫出,即為其十六進制數。(同十進制——二進制)

例:75除以16得出的余數為  11(B)   4

余數從右向左寫為4B(16)

(2)十六進制——十進制(同 二進制——十進制)

計算公式:a*160+b*161+c*162+...+m*16(n-1)=

小技巧:

  163   

  162   

  161  

 160   

4096

256

16

1

三、其他進制之間的轉換

(一)、二進制與八進制

(1)二進制轉換為八進制

對於整數,采用從左到右每三位一組,不夠三位的在其左邊補齊0,每組單獨轉換出來,即為八進制數。

例:(001     101     111     011)

           1        5        7         3

所以,(1573)即為所得的八進制數。

(2)八進制轉換為二進制

將每位八進制由三位二進制數代替,即可完成轉換。

例:(1      7      3      5)

    001    111    011    101

所以,(1111011101)即為所得的二進制數。

(二)、二進制與十六進制

(1)二進制轉換為十六進制

將二進制數的每四位用一個十六進制數碼來表示,整數部分以小數點為界點從右往左每四位一組轉換,小數部分從小數點開始自左向右每四位一組進行轉換。

例:(1001     0111     0111     1001)

            9         7           7          9

所以,(9779)為所得的十六進制數。

(2)十六進制轉換為二進制

只要將每一位十六進制數用四位相應的二進制數表示,即可完成轉換。

例:(8        7        6        5)

   1000     0111     0110     0101

所以,(1000011101100101)為所得的二進制數。

綜上所述,十進制可以與二進制、八進制、十六進制相互轉換,二進制可以與八進制、十六進制相互轉換。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved