首页 > 代码库 > 10-08C#基础--进制转换

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为所得的二进制数。

10-08C#基础--进制转换