首页 > 学院 > 开发设计 > 正文

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

2019-11-17 02:50:47
字体:
来源:转载
供稿:网友

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法则。

87 6 54 3 2 1

1286432168421

例:(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 73 5 )8

001 111 011 101

所以,(1111011101)2即为所得的二进制数。

二进制转换为十六进制:由于2的4次方=16,所以依照二进制与八进制的转换方法,将二进制数的每四位用一个十六进制数码来表示,整数部分以小数点为界点从右往左每四位一组转换,小数部分从小数点开始自左向右每四位一组进行转换。

例:(1001 0111 0111 1001)2

9 7 7 9

所以,(9779)16为所得的十六进制数

十六进制转换为二进制:只要将每一位十六进制数用四位相应的二进制数表示,即可完成转换。 例:( 8 7 65)16

1000 0111 0110 0101

所以,(1000 0111 0110 0101)2为所得的二进制数。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表