码迷,mamicode.com
首页 > 其他好文 > 详细

进制转换

时间:2016-06-17 23:45:25      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:

一、数值与数制转换

(一)、数制

计算机中采用的是二进制,因为二进制具有运算简单,易实现且可靠,为逻辑设计提供了有利的途径、节省设备等优点。一般计数都采用进位计数:

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

综上所述,十进制可以与二进制、八进制、十六进制相互转换,二进制可以与八进制、十六进制相互转换。

进制转换

标签:

原文地址:http://www.cnblogs.com/H2921306656/p/5595286.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!