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

10-08C#基礎--進制轉換,

編輯:C#入門知識

10-08C#基礎--進制轉換,


(一)、數制 計算機中采用的是二進制,因為二進制具有運算簡單,易實現且可靠,為邏輯設計提供了有利的途徑、節省設備等優點,為了便於描述,又常用八、十六進制作為二進制的縮寫。
一般計數都采用進位計數,其特點是: (1)逢N進一,N是每種進位計數制表示一位數所需要的符號數目為基數。 (2)采用位置表示法,處在不同位置的數字所代表的值不同,而在固定位置上單位數字表示的值是確定的,這個固定位上的值稱為權。 在計算機中:D7 D6 D5 D4 D3 D2 D1 D0 只有兩種0和1 8 4 2 1 二)、數制轉換 不同進位計數制之間的轉換原則:不同進位計數制之間的轉換是根據兩個有理數如相等,則兩數的整數和分數部分一定分別相等的原則進行的。也就是說,若轉換前兩數相等,轉換後仍必須相等。 十進制:有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、數的進位記數法 N=a n-1*p n-1+a n-2*p n-2+…+a2*p2+a1*p1+a0*p0】

2、十進制與(二、八、十六)進制數之間的轉換

(1)十進制轉換成二進制:十進制轉二進制通常采用除2取余法,十進制數逐次整除2,直至商為0,所得余數按相反順序寫出,即為二進制數。

在十進制與二進制的轉換時,采用8421法則。

                   8    7      6       5     4    3    2   1

               128    64    32     16    8    4    2   1            

例:(36)10轉換為二進制

  2  | 36....0

  2  | 18....0

  2  |  9....1

  2  |  4....0

  2  |  2....0

         1

所以(36)10即為(100100)2

同樣,十進制轉化為八、十六進制

例1:(129)10轉換為八進制

 8 |  129....1

 8 |   16....0

         2

所以(129)10即為(201)8

例2:(179)10轉換為十六進制

16| 179...3

       11

在十六進制中,11必須寫為B,所以(179)10即為(B3)16

(2)其他進制數p轉換為十進制

二進制轉換為十進制:采用a*p0+b*p1+c*p2+......n*pn-1

例:(1011001)2轉換為十進制

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

同樣,八、十六進制轉換為十進制

例1:(1213210)8

=0*80+1*81 +2*82 +3*83 +1*84 +2*85 +1*86

=(333448)10

例2:(1BC2)16

=2*160 +C*161 +B*162 +1*163

=2*160+12*161 +11*162 +1*163

=(1119)10

(3)其他進制之間的轉換

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

例:(001 101  111   011)2

          1     5       7      3

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

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

例:(1    7   3     5  )8

      001 111 011 101  

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

二進制轉換為十六進制:由於2的4次方=16,所以依照二進制與八進制的轉換方法,將二進制數的每四位用一個十六進制數碼來表示,整數部分以小數點為界點從右往左每四位一組轉換,小數部分從小數點開始自左向右每四位一組進行轉換。

例:(1001 0111 0111 1001)2

           9       7      7      9

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

十六進制轉換為二進制:只要將每一位十六進制數用四位相應的二進制數表示,即可完成轉換。 例:( 8     7       6     5)16

      1000 0111 0110  0101

所以,(1000 0111 0110 0101)2為所得的二進制數。




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