数制间的转换技巧

 

 

数制的转换

 

        内存所能存储的最大数,实际就是当所有位都为1时,所转化成的十进制数。

1

1

1

1

1

1

1

…  …  …

N个位都为1时,最大数为: 1= + ++ +

例如:一个6位的二进制最大值为:

1

1

1

1

1

1

则其转换为十进制最大值为: 1= + + + + +

 

八进制与二进制、十六进制与二进制之间的关系

八进制

对应二进制

 

十六进制

对应二进制

十六进制

对应二进制

0

000

0

0000

8

1000

1

001

1

0001

9

1001

2

010

2

0010

A

1010

3

011

3

0011

B

1011

4

100

4

0100

C

1100

5

101

5

0101

D

1101

6

110

6

0110

E

1110

7

111

7

0111

F

1111

 

一、        进位计数制

使用多位数码符号表示数值时,每一位数所使用的数码符号以及运算时从低位向高位借进位的规则,被称为进位计数制(或被称为计数制,简称数制,或进制)。

1.  进制的基本要素

(1)       数码

表示一个数位所使用的数字符号被称为数码。例如,十进制中使用的0123,……,9都是数码。在RR是一个正整数)进制使用的数码有R个。

注意:其一,数码必须是只占用一个数位的符号;

         其二,所有的数码符号都是整数,且取值范围为闭区间[0R1]

(2)       基数

一种数制所使用的数码符号的个数(或者说一种数制的任何相邻两个数位的单位之比)称为该数制的基数。例如,在十进制中使用的数码有十个,相邻两个数位的单位之比也是十,因此十进制的基数就为10R进制的基数为R(基数:Radix)。

(3)       位权

某个数位的单位称为该数位的位权(例如,在十进制中,个位、十位、百位的单位分别为个、十、百,因此个位、十位、百位的位权分别为 )。

R进制中,各数位的位权可以归纳为如下两点:

①小数点前第p位整数的位权为

②小数点后第q位小数的位权为

(4)       借进位规则

有关进行加法(或乘法)运算,达到多少值需向高位进位“1”,进行减法(或除法)运算,何时需从高位借“1”,借来的“1”在本位当成几的运算规则,称借进位规则。同一种进制的所有数位都就遵从统一的借进位规则。这就是“逢基数进一,借一当基数”(例如,十进制的基数为十,因此它的借进规则是“逢十进一,借一当 十” )。

(5)       按权展开式

按各位数码与相应位权之积将一个数展开所得到的式子称为该数的按权展开式。一个含有n位整数和m位小数的R进制数 ,其按权展开式可以表述如下:

        

其中: ——R进制数N

         ——基数;

         ——第i位的位权,( );

         ——位权为 的数位上的数码符号,( {01,……,R1});

         n —— 的整数位数,( );

         m —— 的小数位数,( );

2.  进制数的标识格式

存在三种标识进制数的格式,以R进制数N为例:

格式一:             格式二:NK                格式三:N

              说明:格式三常用于十进制数标识格式。

格式二中的“K”是一个标识符。

二进制标识符为“B”;

八进制标识符为“O”(为避免与数值“ 0 混淆,常由“Q”代替);

十进制标识符为“D”(允许省略,省略后也就成为格式三);

十六进制标识符为“H”。

3.  常用数制简介

常用数制基本要素和表示方法表

基本要素

    

二进制(2#B

八进制(8#Q

十六进制(16#H

基数

2

8

16

数码

01

0~7

0~9A~F

小数点前第p位整数的位权

小数点后第q位小数的位权

借进位规则

逢二进一,

借一当二

逢八进一,

借一当八

逢十六进一,

借一当十六

按权展开式

标识格式

10110.10012

10110.1001B

(31407.64)8

31407.64O

31407.64Q

(A50B.C7)16

A50B.C7H

例如:写出110101.101B31407.64QA50B.C7H的按权展开式。

110101.101B =

31407.64Q =

A50B.C7H =

二、        不同数制间的转换

1.       任意其他进制(2#8#16#)转换成十进制

转换口诀:“利用按权展开式展开”。

例如:

10110.101B = =22.625

312.64Q = =202.8125

F7.CH = =247.75

2.       十进制转换成任意其他进制(2#8#16#

(1)    整数部分的转换

转换口诀:“除基取余,倒序排列”。

                  例如:317 = 100111101B = 475Q = 13DH

             

(2)    小数部分的转换

转换口诀:“乘基取整,顺序排列”。

                     例如:0.4375D = 0.0111B = 0.34Q = 0.7H

             

注意:当所得余数(或整数)值超过9,必须将其转换成16进制的数码符号(例如,需将余数“ 13 转换为十六进制数码“D”)

取近似值的方法与十进制运算中的相似。“低于基数值一半时舍,等于或高于基数值一半时入”。

 

八进制与二进制、十六进制与二进制之间的关系

八进制

对应二进制

 

十六进制

对应二进制

十六进制

对应二进制

0

000

0

0000

8

1000

1

001

1

0001

9

1001

2

010

2

0010

A

1010

3

011

3

0011

B

1011

4

100

4

0100

C

1100

5

101

5

0101

D

1101

6

110

6

0110

E

1110

7

111

7

0111

F

1111

3.       8#数转换成2#

转换口诀:“逐位转换,一位拆三位”

              例如:    3107.46Q = 11001000111.10011B

 

3

1

0

7

4

6

转换

011

001

000

111

100

110

删零

1100100011110011B

4.       16#数转换成2#

转换口诀:“逐位转换,一位拆四位”

              例如:    4A 7.1CH = 10010100111.000111B

 

4

A

7

1

C

转换

0100

1010

0111

0001

1100

删零

10010100111000111B

5.       2#数转换成8#

转换口诀:“三位合一位,分节转换”

              例如:    11010101.1101B = 325.64Q

分节:

11

010

101

110

1

补零:

011

010

101

110

100

转换:

3

2

5

6

4

连接:

32564Q

6.       2#数转换成16#

转换口诀:“四位合一位,分节转换”

              例如:    1011010101.11101B = 2D5.E8H

分节:

10

1101

0101

1110

1

补零:

0010

1101

0101

1110

1000

2#~10#

2

13

5

14

8

10#~16#

2

D

5

E

8

连接:

2D5E8H

7.       8#数与16#数的互换

转换口诀:“以二进制为桥”

              例如:    1325.72Q = 1011010101.11101B = 2D5.E8H

                            D5.DH = 11010101.1101B = 325.64Q

各种进制间的转换方法表

源进制

目标进制

十进制

二进制

八进制

十六进制

十进制

 

整数部分:除基取余,倒序排列;

小数部分:乘基取整,顺序排列

二进制

用按权展开式展开

 

三位合一位

四位合一位

分节转换

八进制

逐位转换

一位拆三位

 

以二进制为桥

十六进制

一位拆四位

以二进制为桥

 

 

三、        二进制运算规则

由于二进制运算实行的借进位规则是“逢二进一,借一当二”,因此二进制的运算规则相当简单。全部四则运算规则可归纳为如下十四条。

加法:0 + 0 = 0           0 + 1 = 1              1 + 0 = 1              1 + 1 = 10

减法:00 = 0           10 = 1               11 = 0               101= 1

乘法:0×0 = 0           0×1 = 0               1×0 = 0               1×1 = 1

除法:0÷1 = 0           1÷1 = 1

 

 

四、        数值的表示

在计算机中通常把一个数的最高位定义为符号位,用0表示正1表示负,称为数符。

       规格化的浮点数形式,即尾数的绝对值>=01并且<1,唯一规定了小数点的位置。例如,十进制数-1234.5678以规格化形式表示为:-0.12345678×

       同样,任意二进制规格化浮点数的表示形式为:

式中,d尾数,前面的“ ”表示数符p阶码,前面的“ ”表示阶符。在计算机内的存储形式如下:

阶符

阶码

数符

尾数

       带符号数的表示:负数的三种表示法:原码、反码、补码

(1)       原码

除正号用0表示,负号用1表示外,其余部分与原数相同

 

(2)       反码

正数的反码与原码相同,负数的反码除符号位外,按位取反

 

(3)       补码

正数的补码与原码相同,负数的补码除符号位外,按位取反,且末位加1(二进制加法)

例如:

5的补码形式为:        11111011

4的补码形式为:+       00000100

                           =       11111111

运算结果为11111111,是-1的补码形式。

              又如:(-9+(-5)运算如下:

              9的补码形式为:            11110111

              5的补码形式为: +        11111011

                                             =   111110010

              丢失高位1,运算结果机器数为11110010,是-14的补码形式。

由此可见,利用补码可方便地实现正负数的加法运算,规则简单,在数的有效存放范围内,等号位如同数值一样参加运算,也允许产生最高位的进位(被丢去)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值