加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

二进制数与十进制及其它进制数的转换

(2008-10-12 20:49:38)
标签:

杂谈

 

一个二进制数具有下列两个基本特点:

• 两个不同的数字符号,即0和1。

• 逢二进一。

一般我们用( ) 角标表示不同进制的数。例如:十进制用( )10表示,二进制数用( )2表示。在微机中,一般在数字的后面,用特定字母表示该数的进制。例如:B —二进制、D —十进制( D可省略)、 O —八进制、H —十六进制。

 

二进制与其它数制

1. 十进制(十进位计数制)

具有十个不同的数码符号0、1、2、3、4、5、6、7、8、9,其基数为10;十进制数的特点是逢十进一,例如:

( 1010 )10 = 1×103+0×102+1×101+0×100

2. 八进制(八进位计数制)

具有八个不同的数码符号0、1、2、3、4、5、6、7,其基数为8;八进制数的特点是逢八进一,例如:(1010)8 = 1×83+0×82+1×81+0×80=(520)10

3. 十六进制(十六进位计数制)

具有十六个不同的数码符号0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,其基数为16,十六进制数的特点是逢十六进一,例如:

(1010)16 = 1×163+0×162+1×161+0×160=(4112)10

 

 

表1-1 四位二进制数与其它数制的对照

 

 

 


二进制        十进制        八进制        十六进制

0000                                    0

0001                                    1

0010                                    2

0011                                    3

0100                                     4

0101                                    5

0110                                    6

0111                                    7

1000                      10               8

1001                      11               9

1010            10           12               A

1011            11           13               B

1100            12           14               C

1101            13           15               D

1110            14           16               E

1111            15           17               F

 

 


 不同进制数之间的转换

1. 十进制数与二进制数之间的转换

(1) 十进制整数转换成二进制整数

把一个十进制整数转换为二进制整数的方法如下:

把被转换的十进制整数反复地除以2,直到商为0,所得的余数(从末位读起)就是这个数的二进制表示。简单地说,就是“除2取余法”。

例如,将十进制整数(156)10转换成二进制整数的方法如下:

 

                 156       

2    78            ----------------余0

  39              --------------余1

                    19             --------------余1

                               --------------余1

           --------------余0

                                 --------------余0

          --------------余1

 

于是,(156)10=(1001110) 2 。知道十进制整数转换成二进制整数的方法以后,了解十进制整数转换成八进制或十六进制就很容易了。十进制整数转换成八进制整数的方法是“除8取余法”,十进制整数转换成十六进制整数的方法是“除16取余法”。

(2) 十进制小数转换成二进制小数

十进制小数转换成二进制小数是将十进制小数连续乘以2,选取进位整数,直到满足精度要求为止。简称“乘2取整法”。

例:

将十进制小数(0.8125) 10转换成二进制小数的方法如下:

0 . 8 1 2 5

×) 2

1 . 6 2 5 0 整数=1

0 . 6 2 5 0

×) 2

1 . 2 5 0 0 整数=1

0 . 2 5 0 0

×) 2

0 . 5 0 0 0 整数=0

×) 2

1 . 0 0 0 0

×) 2

1 . 0 整数=1

将十进制小数0.8125连续乘以2,把每次所进位的整数,按从上往下的顺序写出。于是,(0.8125)10=(0.1101)2

了解了十进制小数转换成二进制小数的方法以后,那么,了解十进制小数转换成八进制小数或十六进制小数就很容易了。十进制小数转换成八进制小数的方法是“乘8取整法”,十进制小数转换成十六进制小数的方法是“乘16取整法”。

(3) 二进制数转换成十进制数

把二进制数转换为十进制数的方法是,将二进制数按权展开求和即可。

例如,将(111011.101)2 转换成十进制数的方法如下:(111011.101)2

=1×26+1×25+1×24+0×23+0×22+1×21+1×20+1×2-1+0×2-2+1×2-3  

于是,(1110011.101)2=64+32+16+2+1+0.5+0.125=(115.625)10

同理,非十进制数转换成十进制数的方法是,把各个非十进制数按权展开求和即可。如把二进制数(或八进制数或十六进制数)写成2(或8或16)的各次幂之和的形式,然后再计算其结果。

2. 二进制数与八进制数之间的转换

二进制数与八进制数之间的转换十分简捷方便,他们之间的对应关系是,八进制数的每一位对应二进制数的三位。

(1) 二进制数转换成八进制数

由于二进制数和八进制数之间存在特殊关系,即81=23,因此转换方法比较容易,具体转换方法是:将二进制数从小数点开始,整数部分从右向左3位一组,小数部分从左向右3位一组,不足三位用0补足即可。

例:

将(11110101010.11111)2转换为八进制数的方法如下:

0 1 1   1 1 0   1 0 1   0 1 0 . 1 1 1   1 1 0

↓     ↓       ↓      ↓      ↓      

3       6        5       2 .    7        6

于是,(11110101010.11111)2=(3652.76)8

(2) 八进制数转换成二进制数

方法为:以小数点为界,向左或向右每一位八进制数用相应的三位二进制数取代,然后将其连在一起即可。

例:

将(5247.601)8转换为二进制数的方法如下:

5        2       4      7 .       6       0        1

↓      ↓      ↓      ↓        ↓      ↓      

1 0 1   0 1 0   1 0 0   1 1 1 .   1 1 0   0 0 0   0 0 1

于是,(5247.601)8=(101010100111.110000001)2

3. 二进制数与十六进制数之间的转换

(1) 二进制数转换成十六进制数

二进制数的每四位,刚好对应于十六进制数的一位( 161=24),其转换方法是,将二进制数从小数点开始,整数部分从右向左4位一组,小数部分从左向右4位一组,不足四位用0补足,每组对应一位十六进制数即可得到十六进制数。

例:

将二进制数(111001110101.100110101)2 转换为十六进制数。

解:1 1 1 0   0 1 1 1   0 1 0 1 . 1 0 0 1   1 0 1 0   1 0 0 0

↓       ↓        ↓   .    ↓       ↓        

E         7              9       A           8

于是,(111001110101.100110101)2=(E75.9A8)16

例:

将二进制数(101111101111110)2 转换为十六进制数。

解:0 1 0 1   1 1 1 1   0 1 1 1   1 1 1 0

↓        ↓         ↓        

5          F                  E

于是,(101111101111110)2=(5F7E)16

(2) 十六进制数转换成二进制数

方法为以小数点为界,向左或向右每一位十六进制数用相应的四位二进制数取代,然后将其连在一起即可。

例:

将(7FE.11)16转换成二进制数。

解:7                1

↓     ↓    ↓       ↓   

0111    1111  1110.   0001   0001

于是,(7FE.11)16=( 11111111110.00010001)2

 

 二进制数在计算机内的表示

1.整数的表示

2.实数的表示

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有