赵氏明珠大结局:数制与编码

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 22:08:14

这一章主要讲述的内容是在数字设备中进行算术运算的基本知识--数制和一些常用的编码。

1、1 进位计数制

一:进位计数制
它的概念描述为:把数划分为不同的位数,逐位累加,加到一定数量之后,再从零开始,同时向高位进位
进位计数制有三个要素
:数符、进位规律和进位基数。
什麽是进位基数呢?
即计数制中每个数位所使用的数码符号的总数,它又被称为进位模数。
我们经常把数用每位权值与该位的数码相乘展开。当某位的数码为“1”时所表征的数值即该位的权值
   
例1:
我们把十六进制数N=(1FA3.B3)H按权展开式子为?                                      
                N=1*163+15*162+10*161+3*160+11*16-1+3*16-2

二:常用的进位计数制
我们用进位计数制的三要素来描述一下二进制、八进制、十进制和十六进制。如下表所示:

常用进制 英文表示符号  数码符号 进位规律  进位基数 二进制 B 0、1 逢二进一 2 八进制 O 0、1、2、3、4、5、6、7 逢八进一 8 十进制 D 0、1、2、3、4、5、6、7、8、9 逢十进一 10 十六进制 H 0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F 逢十六进一 16 

1、2 数制转换

一:其它进制转换为十进制  
方法是:将其它进制按权位展开,然后各项相加,就得到相应的十进制数。

例1: N=(10110.101)B=(?)D
按权展开N=1*24+0*23+1*22+1*21+0*20+1*2-1+0*2-2+1*2-3
        
=16+4+2+0.5+0.125 =(22.625)D

二:将十进制转换成其它进制  

方法是: 它是分两部分进行的即整数部分小数部分

整数部分:(基数除法)
把我们要转换的数除以新的进制的基数,把余数作为新进制的最低位; 
把上一次得的商在除以新的进制基数,把余数作为新进制的次低位;            
继续上一步,直到最后的商为零,这时的余数就是新进制的最高位.
小数部分: (基数乘法)

把要转换数的小数部分乘以新进制的基数,把得到的整数部分作为新进制小数部分的最高位
把上一步得的小数部分再乘以新进制的基数,把整数部分作为新进制小数部分的次高位;
继续上一步,直到小数部分变成零为止。或者达到预定的要求也可以。

例2 : N=(68.125)D=(?)O 整数部分                         小数部分
                  
(68.125)D=(104.1)O

三:二进制与八进制、十六进制的相互转换 

二进制转换为八进制、十六进制:它们之间满足23和24的关系,因此把要转换的二进制从低位到高位每3位或4位一组,高位不足时在有效位前面添“0”,然后把每组二进制数转换成八进制或十六进制即可
八进制、十六进制转换为二进制
时,把上面的过程逆过来即可。
例3:N=(C1B)H=(?)B
(C1B)H=1100/0001/1011=(110000011011)B 

1、3 二进制数的算术运算

 

一:二进制的四则运算
二进制也可以进行四则运算,它的运算规则如下所示:

加运算 0+0=0,0+1=1,1+0=1,1+1=10        逢2进1 减运算 1-1=0,1-0=1,0-0=1,0-1=1(向高位借1当2) 乘运算 0*0=0,0*1=0,1*0=0,1*1=1 除运算 二进制只有两个数(0,1),因此它的商是1或0.
例1:求(1011101)B与(0010011)B之和 例2: 求(1101)B与(0101)B的乘积

通过例(1)我们再来介绍两个概念:半加和全加。

半加是最低位的加数和被加数相加时,不考虑低位向本位进位。
全加是加数和被加数相加时,我们还要考虑低位向本位的进位。

1、4 数的原码、反码及补码

一:数的表示形式
 在生活中表示数的时候一般都是把正数前面加一个“+”,负数前面加一个“-”,但是在数字设备中,机器是不认识这些的,我们就把“+”用“0”表示,“-”用“1”表示。原码、反码和补码。这三种形式是怎样表示的呢?如下所示:

真值 原码 反码 补码

例1:求+12和-12八位原码、反码、补码形式
它们的原码分别为[+12]=00001100[-12]=100011      
它们的反码分别为[+12]*=00001100
[-12]*=(28-1)+(-1100)=11110011 
它们的补码分别为[+12]**=00001100
[-12]**=28+(-1100)=11110100

正数 +X 0X 0X 0X 负数 -X 1X (2n-1)+X 2n+X

二:原码、反码及补码的算术运算
因为这三种数码表示法的形成规则不同,所以算术运算方法也不相同。

原码与我们的日常中算术运算相同。
反码先转换为反码形式,再进行加减运算。它的减法可以按A+[-B]的形式进行.
补码先转换为补码形式,再进行加减运算,其减法可以按A+[-B]进行.

三:溢出及补码运算中溢出的判断
 
溢出可以描述为运算结果大于数字设备的表示范围。这种现象应当作故障处理。
   判断溢出是根据最高位的进位来判断的。

1、5 编码

一:二——十进制(BCD)码

    用二进制码表示的十进制数,就称为BCD码。它具有二进制的形式,还具有十进制的特点它可作为人们与数字系统的联系的一种间表示。BCD码分为有权和无权编码。

(1)有权BCD码:每一位十进制数符均用一组四位二进制码来表示,而且二进制码的每一位都有固定权值.下面我们用表列出几种常见的编码:

 十进制数

常见的编码 8421 5421 2421 631-1 余3码 7321 0 0000 0000 0000 0000 0011 0000 1 0001 0001 0001 0010 0100 0001 2 0010 0010 1000 0101 0101 0010 3 0011 0011 1001 0100 0110 0011 6 0110 1001 1100 1000 1001 0111 8 1000 1011 1110 1101 1011 1001 9 1001 1100 1111 1100 1100 1010

(2)无权BCD码:二进制码中每一位都没有固定的权值。 二: 奇偶校验码

    在数据的存取、运算和传送过程中,难免会发生错误,把“1”错成“0”或把“0”错成“1”。奇偶校验码是一种能检验这种错误的代码。它分为两部分;信息位和奇偶校验位。
   有奇数个“1”称为奇校验,有偶数个“1”则称为偶校验