




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 2 第三章第三章 信息编码与数据表示信息编码与数据表示 数值数据的表示数值数据的表示 3.13.1 浮点机器数的表示方法浮点机器数的表示方法 数据格式数据格式 3.23.2 定点机器数的表示方法定点机器数的表示方法 3.33.3 3.43.4 非数值数据的表示非数值数据的表示 3.53.5 校验码校验码 3.63.6 现代计算机系统的数据表示现代计算机系统的数据表示 3.73.7 本章小结本章小结 3 3.1 3.1 数值数据的表示数值数据的表示 进位计数制进位计数制 一一 不同数制之间的相互转换不同数制之间的相互转换 二二 十进制数的编码十进制数的编码 三三 4 一、进位计数制一、进位计数
2、制 v 数制的两大要素:数制的两大要素: 基数基数R R:指在这种进位制中允许使用的基本数码:指在这种进位制中允许使用的基本数码 个数。个数。基数为基数为R R的数制称为的数制称为R R进制数。进制数。 R R进制数进制数 的主要特点就是的主要特点就是逢逢R R进进1 1 。 权权W Wi i:权也称位权,指某一位权也称位权,指某一位i i上的数码的权重上的数码的权重 值,即权与数码所处的位置值,即权与数码所处的位置i i有关。有关。 W Wi i R Ri i。 v 例如:例如:R R1010,即十进制数。它的每一位上的数码,即十进制数。它的每一位上的数码 D Di i只能取只能取0 0,1
3、 1,2 2,9 9;各个数码的;各个数码的权为权为1010i i,i i 指示数码所处的位置,个位指示数码所处的位置,个位i i0 0,十位,十位i i1 1,百位,百位 i i2 2,依此类推。,依此类推。 v 思考:二进制、八进制、十六进制?思考:二进制、八进制、十六进制? 5 一、进位计数制一、进位计数制 v 思考:何谓十进制、二进制、八进制、十六进制?思考:何谓十进制、二进制、八进制、十六进制? 进制进制数码符号数码符号基数基数R R权权W Wi i 十进制十进制0 09 9R=10R=101010i i 二进制二进制 0 0、1 1R=2R=22 2i i 八进制八进制 0 0 7
4、 7R=8R=88 8i i 十六进制十六进制 0 0 9 9,A A F FR=16R=161616i i 6 一、进位计数制一、进位计数制 v 假设任意数值假设任意数值N N用用R R进制数来表示,形式为:进制数来表示,形式为: N=N=(D Dm m 1 1D Dm-2m-2D D0 0 D D-1 -1D D-2-2 D D-k-k ) )R R 其中,其中,D Di i为该进制的基本符号,为该进制的基本符号,D Di i00,R-1R-1,i i = -k= -k, -k+1-k+1, ,m-1m-1;小数点在;小数点在D D0 0和和D D-1 -1之 之 间。间。 v 则数值则数
5、值N N的的实际值实际值为:为: 1 )( m ki i i RDN 十进制十进制 7 一、进位计数制一、进位计数制 v 例例1 1:(:(2345.4592345.459)10 10 2 210103 3 3 310102 2 4 410101 1 5 510100 0 4 41010-1 -1 5 51010-2 -2 9 91010-3 -3 v 例例2 2:(11011.01111011.011)2 21 12 24 4 1 12 23 3 0 02 22 2 1 12 21 1 1 12 2-0 -0 0 02 2-1 -1 1 12 2-2 -2 1 12 2-3 -3= = (2
6、7.37527.375)10 10 v 例例3 3:(123.67123.67)8 81 18 82 2 2 28 81 1 3 38 80 06 68 8- - 1 1 7 78 8-2 -2= =( (83.85937583.859375)10 10 8 二、不同数制之间的相互转换二、不同数制之间的相互转换 常用的几种数制的对应关系常用的几种数制的对应关系 1 1 二、八、十六进制转换为十进制二、八、十六进制转换为十进制 2 2 十进制转换为二、八、十六进制十进制转换为二、八、十六进制 3 3 9 (1 1)常用的几种数制的对应关系)常用的几种数制的对应关系 十进制十进制 二进制二进制八进
7、制八进制 十六十六 进制进制 十进制十进制 二进制二进制八进制八进制 十六十六 进制进制 0 0000000000 00 08 81000100010108 8 1 1000100011 11 19 91001100111119 9 2 2001000102 22 21010101010101212A A 3 3001100113 33 31111101110111313B B 4 4010001004 44 41212110011001414C C 5 5010101015 55 51313110111011515D D 6 6011001106 66 61414111011101616E
8、E 7 7011101117 77 71515111111111717F F 1616100001000020201010 10 (2 2)二、八、十六进制转换为十进制)二、八、十六进制转换为十进制 v 转换方法:转换方法:加权求和。加权求和。( (按式按式3.1)3.1) 例:(例:(5AC.E65AC.E6)16 16= 5 = 516162 2 101016161 1 121216160 0 14141616 1 1 6 61616 2 2 ( (1452.89843751452.8984375)10 10 v 十进制(十进制(DecimalDecimal)、二进制()、二进制(Bina
9、ryBinary)、八进制)、八进制 (OctalOctal)、十六进制()、十六进制(HexdecimalHexdecimal)数分别用)数分别用D D、B B、 Q Q、H H来标志。来标志。 v 例如:(例如:(10111011)2 2(10111011)B B1011B1011b1011B1011b (123.45123.45)10 10 ( 123.45 123.45 )D D 123.45D 123.45D 123.45123.45 (2B.D2B.D)16 16= =( (2B.D2B.D)H H= =(43.812543.8125)10 10=(53.64) =(53.64)Q
10、 Q 11 (3 3)十进制转换为二、八、十六进制)十进制转换为二、八、十六进制 v转换方法转换方法:可以分为以下两种方法:可以分为以下两种方法 直接转换:十进制直接转换:十进制二、八、十六进制二、八、十六进制 间接转换:十进制间接转换:十进制二进制二进制 八、十六进制八、十六进制 v(a a)十进制转化为)十进制转化为R R进制进制 v(b b)二进制转化为八、十六进制)二进制转化为八、十六进制 12 (a a)十进制转化为)十进制转化为R R进制进制 v转换方法转换方法 整数部分:整数部分:除以除以R R取余,先得低位取余,先得低位,直到商为,直到商为0 0。 小数部分:小数部分:乘乘R
11、R取整,先得高位取整,先得高位,直到积为,直到积为0 0或或 者达到精度要求为止。者达到精度要求为止。 v例:(例:(123.75123.75)10 10= =( ( ? )2 2 (123.75123.75)10 10= =( ( ? )8 8 1111011.11 173.6 13 小数部分的精度要求小数部分的精度要求 v 当小数部分当小数部分不能整除为二进制不能整除为二进制时,则乘以时,则乘以2 2取整的取整的 过程中,过程中,积不会为积不会为0 0;或者;或者当小数部分转化为二进当小数部分转化为二进 制位数很长制位数很长,这时由,这时由精度来决定二进制位数精度来决定二进制位数。 v 例
12、如例如:(:(114.35114.35)10 10( ( ? )2 2无法整除无法整除 (0.68750.6875)10 10( ( ? )2 2位数太长位数太长 v 若要求精度大于若要求精度大于1010,则表示,则表示“”左右两边的十左右两边的十 进制值的差的绝对值进制值的差的绝对值1022 4 4。 。 (114.35114.35)10 10( (1110010.01011110010.0101)2 2 v 思考:若要求转换精度大于思考:若要求转换精度大于1%1%,则需要取几位二进,则需要取几位二进 制小数?制小数? 14 (b b)二进制转化为八、十六进制)二进制转化为八、十六进制 v
13、二进制二进制八进制八进制 以小数点为中心以小数点为中心分别向两边分组,分别向两边分组,每三位一组每三位一组, 写出对应的八进制数字。(不够位数则在两边加写出对应的八进制数字。(不够位数则在两边加 0 0补足补足3 3位位 ) v 二进制二进制十六进制十六进制 以小数点为中心以小数点为中心分别向两边分组,分别向两边分组,每四位一组每四位一组, 写出对应的十六进制符号。(不够位数则在两边写出对应的十六进制符号。(不够位数则在两边 加加0 0补足补足4 4位位 ) v 例:(例:(1011111.111011111.11)2 2 =( ? )=( ? )8 8=( ? )=( ? )16 16 15
14、 思考思考1 1:八、十六进制如何转化为二进制?:八、十六进制如何转化为二进制? v 八进制八进制二进制二进制:将每位八进制数展开为:将每位八进制数展开为3 3位二进位二进 制数,最高位和最低位的制数,最高位和最低位的0 0可以略去。可以略去。 v 十六进制十六进制二进制二进制:将每位十六进制数展开为:将每位十六进制数展开为4 4位位 二进制数,最高位和最低位的二进制数,最高位和最低位的0 0可以略去。可以略去。 v 例:(例:(765.23765.23)8 8= = ( ? ? )2 2 v 例:(例:(765.23765.23)16 16= = ( ? ? )2 2 111111 1101
15、10 101101. .010010 011011 111111 01100110 01010101. .00100010 00110011 16 思考思考2 2:计算机中为什么采用二进制表示数据?:计算机中为什么采用二进制表示数据? v 1 1、具有二值状态的物理器件容易实现。、具有二值状态的物理器件容易实现。 v 2 2、二进制的运算规则简单,硬件实现容易。、二进制的运算规则简单,硬件实现容易。 v 3 3、具有逻辑特性,可代表、具有逻辑特性,可代表“真假真假”、“是非是非”。 v 4 4、抗干扰能力强、可靠性高、抗干扰能力强、可靠性高 17 三、十进制数的编码三、十进制数的编码 v 提出
16、的问题:如何在计算机内使用二进提出的问题:如何在计算机内使用二进 制来表示十进制数据?制来表示十进制数据? v (1 1)二十进制码()二十进制码(BCDBCD码)码) v (2 2)十进制数串的表示方法)十进制数串的表示方法 18 (1 1)二十进制码()二十进制码(BCDBCD码)码) v BCDBCD(Binary Coded DecimalBinary Coded Decimal)码:使用二进制)码:使用二进制 来编码十进制数字来编码十进制数字0 09 9。 v 编码方法:编码方法:一般使用一般使用4 4位二进制编码来表示位二进制编码来表示1 1位十位十 进制数字,在进制数字,在161
17、6个编码中选用个编码中选用1010个来表示数字个来表示数字 0 09 9。不同的选择构成不同的。不同的选择构成不同的BCDBCD码码 。 v 分类:分类: 有权码:有权码:编码的每一位都有固定的权值,编码的每一位都有固定的权值,加加 权求和权求和的值即是表示的十进制数字。如的值即是表示的十进制数字。如84218421 码、码、24212421码、码、52115211码、码、43114311码、码、84 -2-184 -2-1码等。码等。 无权码:无权码:编码的每一位并没有固定的权,主编码的每一位并没有固定的权,主 要包括格雷码、余要包括格雷码、余3 3码等。码等。 19 (1 1)二十进制码(
18、)二十进制码(BCDBCD码)码) 十进制数十进制数84218421码码24212421码码52115211码码43114311码码84-2-184-2-1码码格雷码格雷码余余3 3码码 0 000000000000000000000000000000000000000000000000000110011 1 100010001000100010001000100010001011101110001000101000100 2 200100010001000100011001100110011011001100011001101010101 3 300110011001100110101010
19、101000100010101010010001001100110 4 401000100010001000111011110001000010001000110011001110111 5 501010101101110111000100001110111101110111110111010001000 6 601100110110011001010101010111011101010101010101010011001 7 701110111110111011100110011001100100110011000100010101010 8 810001000111011101110111
20、011101110100010001100110010111011 9 910011001111111111111111111111111111111110100010011001100 20 几种常见的几种常见的BCDBCD码码 v84218421码:码: 特点:特点:4 4位二进制数位的权从高到低依次是位二进制数位的权从高到低依次是8 8、4 4、2 2、1 1; 84218421码实际上就是十进制数字码实际上就是十进制数字0 09 9的二进制编码本身。的二进制编码本身。 是最常用的一种是最常用的一种BCDBCD码,码,在没有特别指出的一般情况下,在没有特别指出的一般情况下, 所提到的所提
21、到的BCDBCD码通常就是指码通常就是指84218421码码。 v余余3 3码:码: 对应的对应的84218421码加上码加上00110011构成的。是一种构成的。是一种自补码自补码,即任何,即任何 两个相加之和等于两个相加之和等于9 9的编码,互为反码。的编码,互为反码。 21 几种常见的几种常见的BCDBCD码码 v格雷码:格雷码: 特点:又叫循环码,它的特点:又叫循环码,它的任何相邻的两个编码任何相邻的两个编码 (例如(例如2 2和和3 3、7 7和和8 8、9 9和和0 0等)之间等)之间只有一位二进只有一位二进 制位不同制位不同。 优点:是用它构成计数器时,在从一个编码变到优点:是用
22、它构成计数器时,在从一个编码变到 下一个编码时,只有一个触发器翻转即可,波形下一个编码时,只有一个触发器翻转即可,波形 更完美、更完美、可靠可靠。 格雷码的格雷码的编码方案有许多种编码方案有许多种。 22 (2 2)十进制数串的表示方法)十进制数串的表示方法 v字符串形式:字符串形式:用用ASCIIASCII码来表示十进制数字或符号位,码来表示十进制数字或符号位, 即即1 1个字节存放个字节存放1 1位十进制数字或符号位。位十进制数字或符号位。 v压缩的十进制数串形式:压缩的十进制数串形式:用用BCDBCD码来表示十进制数字,码来表示十进制数字, 即即1 1个字节存放个字节存放2 2个十进制的
23、数字;符号位放在最低位个十进制的数字;符号位放在最低位 数字位之后,一般用数字位之后,一般用C C(1212)表示正号,用)表示正号,用D D(1313)表)表 示负号。示负号。 例如例如 258258被表示成被表示成258CH258CH,占用两个字节,占用两个字节,-34-34被被 表示为表示为034DH034DH,也占用两个字节。,也占用两个字节。 v共同点:必须给出它在主存中的首地址和位长。共同点:必须给出它在主存中的首地址和位长。 23 (2 2)十进制数串的表示方法)十进制数串的表示方法 v采用十进制表示数据的优点是采用十进制表示数据的优点是: 对于需要大量地进行输入输出数据而运算简
24、单对于需要大量地进行输入输出数据而运算简单 的场合,大大减少了十的场合,大大减少了十二和二二和二十转换,提十转换,提 高了机器的运行效率;高了机器的运行效率; 十进制数串的位长可变,许多机器中规定该长十进制数串的位长可变,许多机器中规定该长 度从度从0 0到到3131,有的甚至更长。不受定点数和浮点,有的甚至更长。不受定点数和浮点 数统一格式的约束,从而数统一格式的约束,从而提高了数据的表示范提高了数据的表示范 围和运算精度围和运算精度。 24 3.2 3.2 数据格式数据格式 v 机器数:机器数:把把“+ +”、“- -”符号代码化,并保存在计算机中符号代码化,并保存在计算机中 的数据。的数
25、据。 v机器数的特点:机器数的特点: 机器数的机器数的表示范围表示范围受受计算机机器字长计算机机器字长的限制。的限制。 符号符号必须必须数值化数值化。 机器数的机器数的小数点小数点是用是用规定的隐含方式规定的隐含方式表达的。表达的。 v真值:真值:是指机器数所真正表示的数值,用数值并是指机器数所真正表示的数值,用数值并 冠以冠以“+ +”、“- -”符号的方法来表示。符号的方法来表示。 v机器数的编码方法:原码、反码、补码、移码。机器数的编码方法:原码、反码、补码、移码。 25 3.2 3.2 数据格式数据格式 v 计算机中参与运算的数据有两种:计算机中参与运算的数据有两种: 无符号数据无符号
26、数据( Unsigned Unsigned ):所有的二进制数据位数):所有的二进制数据位数 均用来表示数值本身,没有正负之分。均用来表示数值本身,没有正负之分。 带符号数据带符号数据( SignedSigned):二进制数据位,包括符号):二进制数据位,包括符号 位和数值位。计算机中的带符号数据又称为位和数值位。计算机中的带符号数据又称为机器数机器数。 26 3.2 3.2 数据格式数据格式 v计算机硬件如何区分它们是无符号计算机硬件如何区分它们是无符号 数据还是带符号数据的呢?数据还是带符号数据的呢? v例:例: (Intel X86Intel X86系列系列CPUCPU) v假设假设AX
27、AX(11111111111111111111111111111111)2 2, BXBX(00000000000000010000000000000001)2 2, 那么执行下面两段程序时,计算机硬件那么执行下面两段程序时,计算机硬件 将把将把AXAX和和BXBX中的数据看成是不同的数据。中的数据看成是不同的数据。 27 3.2 3.2 数据格式数据格式 v 程序程序A A:AX=0FFFFHAX=0FFFFH,BX=0001HBX=0001H CMPCMPAX,BXAX,BX ; ; 结果影响标志位结果影响标志位 JLJLL1L1; AX; AX和和BXBX为有符号数,为有符号数,AXAX
28、小于小于BXBX则转移则转移 执行执行JLJL指令时,指令时,操作数操作数AXAX和和BXBX被当作有符号数据被当作有符号数据,AXAX(1 1) 1010, ,BXBX(1 1)10 10,所以执行结果是 ,所以执行结果是转移到转移到L1L1标号处标号处执行。执行。 v 程序程序B B:AX=0FFFFHAX=0FFFFH,BX=0001HBX=0001H CMPCMPAX,BXAX,BX JBJBL1L1; ; AXAX和和BXBX为为无符号数,无符号数, AXAX小于小于BXBX则转移则转移 执行执行JBJB指令时,指令时,操作数操作数AXAX和和BXBX被当作无符号数据被当作无符号数据
29、,AXAX (6553565535)10 10, ,BXBX(1 1)10 10,所以执行结果是 ,所以执行结果是不转移不转移,顺序执,顺序执 行。行。 计算机硬件不区分无符号数和有符号数,由指令区分。计算机硬件不区分无符号数和有符号数,由指令区分。 28 二、二、小数点的表示方法小数点的表示方法 v在机器数中,小数点及其位置是在机器数中,小数点及其位置是隐含规定隐含规定 的;有的;有两种隐含方式两种隐含方式: 定点机器数:定点机器数:小数点的位置是固定不变的小数点的位置是固定不变的 浮点机器数:浮点机器数:小数点的位置是浮动的小数点的位置是浮动的 定点机器数分为定点机器数分为定点小数、定点整
30、数定点小数、定点整数两种。两种。 浮点机器数中小数点的位置浮点机器数中小数点的位置由阶码规定由阶码规定,因此,因此 是浮动的。是浮动的。 29 3.2 3.2 数据格式数据格式 X0 符号位符号位数值位数值位 X1X2Xn 小数点隐小数点隐 含位置含位置 . . . 30 3.3 3.3 定点机器数的表示方法定点机器数的表示方法 v 定点机器数的小数点的位置是固定不变的,可以分定点机器数的小数点的位置是固定不变的,可以分 为两种:为两种: 定点小数:用于表示纯小数,定点小数:用于表示纯小数,小数点小数点隐含隐含固定在固定在 最高数据位的左边,最高数据位的左边,整数位则用于表示符号位整数位则用于
31、表示符号位。 定点整数:用于表示纯整数,小数点位置隐含固定点整数:用于表示纯整数,小数点位置隐含固 定在最低位之后,定在最低位之后,最高位为符号位最高位为符号位。 v 1 1、原码表示法、原码表示法3 3、反码表示法、反码表示法 v 2 2、补码表示法、补码表示法4 4、移码表示法、移码表示法 v 5 5、定点机器数转换定点机器数转换 31 1 1、原码表示法、原码表示法 v (1 1)表示方法:)表示方法:最高位表示数的符号,其他位表示最高位表示数的符号,其他位表示 数值位。数值位。 符号位:符号位:0 0正数,正数,1 1负数。负数。 数值位:与绝对值相同。数值位:与绝对值相同。 v 对于
32、定点整数:对于定点整数: 若若X=+XX=+X1 1X X2 2X Xn n,则,则XX原 原= 0,X = 0,X1 1X X2 2X Xn n ; 若若X=- XX=- X1 1X X2 2X Xn n ,则,则XX原 原= 1,X = 1,X1 1X X2 2X Xn n 。 v 对于定点小数:对于定点小数: 若若X= +0.XX= +0.X1 1X X2 2X Xn n ,则,则XX原 原= 0.X = 0.X1 1X X2 2X Xn n ; 若若X= -0.XX= -0.X1 1X X2 2X Xn n ,则,则XX原 原= 1.X = 1.X1 1X X2 2X Xn n 。 “
33、, ,”和和“. .”只用只用 于助记,在计算于助记,在计算 机中并无专用部机中并无专用部 件来表示件来表示 32 1 1、原码表示法、原码表示法 v 例例1 1:X=1011X=1011,Y Y10111011,则:,则: XX原 原 ; YY原 原 ; v 例例2 2:X=0.1101X=0.1101,Y Y- 0.1101- 0.1101,则:,则: XX原 原 ;YY原 原 ; v 例例3 3: X=1011X=1011, Y Y- 0.1101- 0.1101,求,求X X和和Y Y的的8 8位原码位原码 机器数。机器数。 XX原 原 ;YY原 原 ; v 例例4 4:00原 原?
34、? 33 1 1、原码表示法、原码表示法 v (2 2)0 0 的表示:的表示:0 0 的原码表示有两种形式的原码表示有两种形式,即分别,即分别 按照正数和负数表示。按照正数和负数表示。 +0+0原 原 00000 0 -0-0原 原 10100 0 v (3 3)表示范围:)表示范围:对于对于n n1 1位原码机器数位原码机器数X X,它所能,它所能 表示的数据范围为:表示的数据范围为: 定点整数:(定点整数:(2 2n n1 1)X 2X 2n n1 1 定点小数:(定点小数:(1 12 2 n n) )X 1X 12 2 n n 溢出:当机器遇到一个超出它的机器数表示范围溢出:当机器遇到
35、一个超出它的机器数表示范围 的数据的数据 思考:思考:1616位定点整数的原码表示范围?位定点整数的原码表示范围? 包括包括1 1位符号位,位符号位, n n位数值位位数值位 34 1 1、原码表示法、原码表示法 v(4 4)原码运算)原码运算 v(5 5)数学表示:数学表示:编码与真值之间的数学关系编码与真值之间的数学关系 定点定点 整数整数 0XX2 0XX X n 原原 定点定点 小数小数 0XX1 0XX X 原原 3535 x0 x1x2x3作 为 原 码 编 码 时 代 表 的 值 0 0 0 00 0 0 0 1+ 1 0 0 1 0+ 2 0 0 1 1+ 3 0 1 0 0+
36、 4 0 1 0 1+ 5 0 1 1 0+ 6 0 1 1 1+ 7 1 0 0 0- 0 1 0 0 1- 1 1 0 1 0- 2 1 0 1 1- 3 1 1 0 0- 4 1 1 0 1- 5 1 1 1 0- 6 1 1 1 1- 7 例例: 带符号数带符号数 的原码表示的原码表示(定定 点整数点整数4位位) 1 1、原码表示法、原码表示法 3636 数值 0 0 7-7 157 编码 原码原码( (定点整数定点整数4 4位位) )在数轴上的表示在数轴上的表示 1 1、原码表示法、原码表示法 3737 2 2、补码表示法、补码表示法 v 表示方法:表示方法:最高位为符号位,其他位为
37、数值位。最高位为符号位,其他位为数值位。 符号位:符号位:0 0正数,正数,1 1负数。负数。 数值位:正数时,与绝对值相同;数值位:正数时,与绝对值相同;负数时,为绝对值取负数时,为绝对值取 反后,末位加反后,末位加1 1。 对于定点整数:对于定点整数: n若若X=+XX=+X1 1X X2 2X Xn n,则,则XX补 补= 0,X = 0,X1 1X X2 2X Xn n ; n若若X=X= - X- X1 1X X2 2X Xn n ,则,则XX补 补= 1,X = 1,X1 1X X2 2X Xn n 1 1。 3838 2 2、补码表示法、补码表示法 对于定点小数:对于定点小数:
38、n若若X=+0. XX=+0. X1 1X X2 2X Xn n ,则,则XX补 补= 0.X = 0.X1 1X X2 2X Xn n ; n若若X=- 0.XX=- 0.X1 1X X2 2X Xn n ,则,则XX补 补= 1.X = 1.X1 1X X2 2X Xn n 0.000.001 1。 3939 2 2、补码表示法、补码表示法 v 例例1 1:X=1011X=1011,Y Y10111011,则:,则: XX补 补 ;YY补 补 ; v 例例2 2:X=0.1101X=0.1101,Y Y- 0.1101- 0.1101,则:,则: XX补 补 ;YY补 补 ; v 例例3
39、3: X=1011X=1011, Y Y- 0.1101- 0.1101,求,求X X和和Y Y的的8 8位补码位补码 机器数。机器数。 XX补 补 ;YY补 补 ; v 例例4 4:00补 补? ? 4040 2 2、补码表示法、补码表示法 v (2 2)0 0 的表示:的表示:0 0 的补码表示形式是唯一的的补码表示形式是唯一的,即分别按照,即分别按照 正数和负数表示均一致,为全零。正数和负数表示均一致,为全零。 +0+0补 补 00000 0 -0-0补 补 00000 0 v (3 3)表示范围:)表示范围:对于对于n n1 1位位补码机器数补码机器数X X,它所能表示的,它所能表示的
40、 数据范围为:数据范围为: 定点整数:定点整数:2 2n nX 2X 2n n1 1 定点小数:定点小数:1X 11X 12 2 n n v 计算机中的整型数据(计算机中的整型数据(intint)均用补码来表示。)均用补码来表示。 包括包括1 1位符号位,位符号位, n n位数值位位数值位 4141 思考题思考题 v 3232位微机中,位微机中,C C程序定义了两个变量程序定义了两个变量X X,Y;Y; v Int x;Int x; v Unsigned int y;Unsigned int y; v 问:问:x,yx,y的数据取值范围?的数据取值范围? v x x是是3232位补码表示的整数
41、位补码表示的整数:-2-231 31x x 2 231 31-1 -1 v y y是是3232位无符号整数位无符号整数:0 0 x x 2 232 32-1 -1 42 2 2、补码表示法、补码表示法 v(4 4)数学表示:数学表示:编码与真值之间的数学关系编码与真值之间的数学关系 0XX2 0XX X 1n 补补 定点定点 整数整数 0XX2 0XX X 补补 定点定点 小数小数 X X补 补=2 =2n+1 n+1+X(mod 2 +X(mod 2n+1 n+1) ) X X补 补=2+X(mod 2) =2+X(mod 2) 模模2 2补码补码 4343 补码运算补码运算 使用补码进行加
42、减运算时使用补码进行加减运算时, ,符号位同数值位一起参符号位同数值位一起参 加运算,而且可以将减法转化为加法,简化了运加运算,而且可以将减法转化为加法,简化了运 算器的结构。对于乘除运算,也都有相应的算法算器的结构。对于乘除运算,也都有相应的算法 实现整个补码(符号位和数值位)一同参加运算。实现整个补码(符号位和数值位)一同参加运算。 2 2、补码表示法、补码表示法 4444 补码运算补码运算 求补求补 规则:包括符号位在内,全部取反,末位加规则:包括符号位在内,全部取反,末位加1 1 n xxxxx 210. 补 0100. 0. 210 n xxxxx 补 2 2、补码表示法、补码表示法
43、 4545 补码运算补码运算 求补求补 补码与真值的对应关系补码与真值的对应关系( (值盒子值盒子) ) l 一个8位模2定点小数补码 l 一个8位模2定点整数补码 2 2、补码表示法、补码表示法 4646 补码运算补码运算 补码位数的扩展补码位数的扩展 整数整数: : 前充符号位前充符号位 4 4位位 -1-1补补=1111 8=1111 8位位 -1-1补补=11111111=11111111 小数小数: : 末尾补末尾补0 0 2 2、补码表示法、补码表示法 4747 x0 x1x2x3原 码 补 码 0 0 0 00 0 0 0 0 1+ 1 + 1 0 0 1 0+ 2 + 2 0
44、0 1 1+ 3 + 3 0 1 0 0+ 4 + 4 0 1 0 1+ 5 + 5 0 1 1 0+ 6 + 6 0 1 1 1+ 7 + 7 1 0 0 0- 0 - 8 1 0 0 1- 1 - 7 1 0 1 0- 2 - 6 1 0 1 1- 3 - 5 1 1 0 0- 4 - 4 1 1 0 1- 5 - 3 1 1 1 0- 6 - 2 1 1 1 1- 7 - 1 例: 带符号数的 原码和补码表示(4 位) 2 2、补码表示法、补码表示法 4848 数值 0 0 -87 157 编码 补码在数轴上的表示补码在数轴上的表示(4(4位定点整数位定点整数) ) 2 2、补码表示法、
45、补码表示法 4949 x 补 = xx xx n nn , , 02 220 2 例:例:00.101011000.1010110 11.010100111.0101001 x 补 = d2 2时,校验码才具有时,校验码才具有 检错能力检错能力,当码距,当码距dd 3 3时,校验码才具有时,校验码才具有纠错纠错 能力能力。 码距:码距:一种码制的码距是指该码制中所有代码之一种码制的码距是指该码制中所有代码之 间的最小间的最小距离距离。 两个代码之间的距离:两个代码之间的距离:在一种编码中,在任何两在一种编码中,在任何两 个代码之间逐位比较,对应位值不同的个数。个代码之间逐位比较,对应位值不同的
46、个数。 106 3.6 3.6 校验码校验码 v 6 6、校验码原理:、校验码原理:通过判断代码的通过判断代码的合法性合法性来检错的。来检错的。 校验码的校验码的检错纠错能力与码距的关系检错纠错能力与码距的关系如下:如下: 若码距若码距d d为为奇数奇数,如果如果只用来检查错误,则可只用来检查错误,则可 以发现以发现d d1 1位错误;位错误;或如果或如果用来纠正错误,则用来纠正错误,则 能够纠正(能够纠正( d d1 1 )/2/2位错误。位错误。 若码距若码距d d为为偶数偶数,则可以发现,则可以发现d/2d/2位错误,位错误,并且并且 能够纠正(能够纠正( d/2d/21 1 )位错误。
47、)位错误。 107 3.6 3.6 校验码校验码 v 7 7、常见校验码:、常见校验码: 奇偶校验码:奇偶校验码:码距码距d=2d=2,检错码,检错码,能检验奇数能检验奇数 位错误位错误;通常用于磁带或者串行通信中。;通常用于磁带或者串行通信中。 海明校验码:海明校验码:码距码距d=3d=3,纠错码,纠错码,能纠正能纠正1 1位位 或多位错误或多位错误;通常用于磁盘冗余阵列中。;通常用于磁盘冗余阵列中。 CRCCRC校验码:校验码:码距码距d=3d=3,纠错码,纠错码,能纠正能纠正1 1位错位错 误误;通常用于磁盘或数据块的校验。;通常用于磁盘或数据块的校验。 108 v在有效信息位的前面或者
48、后面添加一位奇(偶)校验在有效信息位的前面或者后面添加一位奇(偶)校验 位就组成了奇(偶)校验码。位就组成了奇(偶)校验码。 奇(偶)校验码的编码和译码在硬件上通常奇(偶)校验码的编码和译码在硬件上通常采用采用 异或非门(异或门)异或非门(异或门)实现。实现。 1 1、编码规则、编码规则 奇校验位奇校验位的取值应该使整个奇校验码中的取值应该使整个奇校验码中“1 1”的的 个数为奇数,个数为奇数,偶校验位偶校验位的取值应该使整个偶校的取值应该使整个偶校 验码中验码中“1 1”的个数为偶数。的个数为偶数。 假设在发送端,要发送七位假设在发送端,要发送七位ASCIIASCII码(码(B6 B5 B4
49、 B6 B5 B4 B3 B2 B1 B0B3 B2 B1 B0),在),在ASCIIASCII码前面添加一位奇校码前面添加一位奇校 验位验位P P奇 奇或偶校验位 或偶校验位P P偶 偶变为一个字节的奇偶校验 变为一个字节的奇偶校验 码,则它们的生成表达式为码,则它们的生成表达式为 0123456 0123456 BBBBBBBP BBBBBBBP 偶 奇 二、奇偶校验码二、奇偶校验码 109 2 2、译码、译码 在接收端,必须检验接收到的校验码信息的奇偶在接收端,必须检验接收到的校验码信息的奇偶 性,对于性,对于奇校验码奇校验码,校验码中,校验码中“1 1”的个数应该为的个数应该为 奇数,
50、否则出错;对于奇数,否则出错;对于偶校验码偶校验码,校验码中,校验码中“1 1” 的个数应该为偶数,否则出错。设的个数应该为偶数,否则出错。设E E奇 奇为奇校验码 为奇校验码 出错信号,出错信号,E E偶 偶为偶校验码出错信号,为 为偶校验码出错信号,为1 1出错,出错, 为为0 0正确,则它们的表达式为正确,则它们的表达式为 0 B6 B5 B4 B2 B1 B0 B3 P奇奇 P偶偶 字符字符“A A”的的ASCIIASCII码为码为 41H41H,奇校验码为,奇校验码为C1HC1H, 偶校验码为偶校验码为41H41H。 偶偶 奇奇 PBBBBBBBE PBBBBBBBE 0123456
51、 0123456 二、奇偶校验码二、奇偶校验码 110 P奇奇/ /P偶偶 B6 B5 B4 B2 B1 B0 B3 E奇奇 E偶偶 二、奇偶校验码二、奇偶校验码 111 三、海明码三、海明码 v 1 1、编码、编码 v海明码的编码步骤如下:海明码的编码步骤如下: v(1 1)计算校验位的位数)计算校验位的位数 假设信息位为假设信息位为k k位,增加位,增加r r位校验位,构成位校验位,构成 n=k+rn=k+r位海明码字。若要求海明码能纠正一位位海明码字。若要求海明码能纠正一位 错误,用错误,用r r位校验位产生的位校验位产生的r r位指误字来区分位指误字来区分 无错状态及码字中无错状态及码
52、字中n n个不同位置的一位错误状个不同位置的一位错误状 态,则要求态,则要求r r满足:满足: 2 2 r r k + r + 1 k + r + 1 计算出计算出k k位有效信息时,必须添加的能纠错一位有效信息时,必须添加的能纠错一 位的海明校验码的校验位的位数位的海明校验码的校验位的位数r r 112 v(2 2)确定有效信息和校验位的位置)确定有效信息和校验位的位置 假设假设k k位有效信息从高到低为位有效信息从高到低为 ,添加的,添加的r r 位校验位为位校验位为 ,则它们构成,则它们构成n=k+rn=k+r位的海明位的海明 码排列设为码排列设为 ,H H的下标被称为海明位号,的下标被
53、称为海明位号, 则第则第i i位的校验位位的校验位P Pi i必须位于位号为必须位于位号为2 2i-1 i-1的位置, 的位置, 即即 ,其中,其中,i=1i=1,2 2,r r;有效信息;有效信息 则在其余的海明码位置上顺序排列。则在其余的海明码位置上顺序排列。 三、海明码三、海明码 113 三、海明码三、海明码 v(3 3)分组)分组 由于海明码是分组进行奇偶校验的,每一组由于海明码是分组进行奇偶校验的,每一组 通过一个监督表达式来监督有效信息的变化,通过一个监督表达式来监督有效信息的变化, 因此,分组必须使得监督表达式得出的指误因此,分组必须使得监督表达式得出的指误 字能够反映出错位的位
54、号。分组的原则是:字能够反映出错位的位号。分组的原则是: 校验位只参加一组奇偶校验,有效信息则参校验位只参加一组奇偶校验,有效信息则参 加至少两组的奇偶校验,若加至少两组的奇偶校验,若 D Di i = H = Hj j ,则,则D Di i 参加那些位号之和等于参加那些位号之和等于j j的校验位的分组校验。的校验位的分组校验。 114 三、海明码三、海明码 v(4 4)进行奇偶校验,合成海明码)进行奇偶校验,合成海明码 首先,按照分组和奇偶校验的规律将每个校首先,按照分组和奇偶校验的规律将每个校 验位的生成表达式写出,然后,再带入有效验位的生成表达式写出,然后,再带入有效 信息的值,依次得出
55、校验位的取值,最后将信息的值,依次得出校验位的取值,最后将 校验位按各自的位置插入,与有效信息一起校验位按各自的位置插入,与有效信息一起 合成海明码。合成海明码。 115 三、海明码三、海明码 v 2 2、译码、译码 在接收端收到每个海明码后,也必须按上述在接收端收到每个海明码后,也必须按上述 分组检验每组的奇偶性有无发生变化,方法分组检验每组的奇偶性有无发生变化,方法 是按照监督关系式算出指误字是按照监督关系式算出指误字Sr Sr-1 Sr Sr-1 S2 S2 S1 S1 ,若为全零,则说明各组奇偶性全部无变,若为全零,则说明各组奇偶性全部无变 化,信息正确,将相应的有效信息位析取出化,信
56、息正确,将相应的有效信息位析取出 来使用;否则,指误字的十进制值,就是出来使用;否则,指误字的十进制值,就是出 错位的海明位号。错位的海明位号。 116 四、循环冗余码四、循环冗余码CRCCRC v循环冗余码循环冗余码CRCCRC(Cyclic Redundancy Cyclic Redundancy CodeCode),又称为多项式码。),又称为多项式码。 v1 1、编码、编码 vk k位要发送的有效信息位可对应于一个位要发送的有效信息位可对应于一个k-1k-1 次多项式次多项式M M(x x),),r r位冗余校验位对应于一位冗余校验位对应于一 个个r-1r-1次多项式次多项式R R(x
57、x)。由)。由k k位信息位后面位信息位后面 加上加上r r位冗余位组成的位冗余位组成的n=k+rn=k+r位位CRCCRC码字则对码字则对 应于一个应于一个n-1n-1次多项式次多项式C C(x x),即:),即: C C(x x)= x= xr r M M(x x)+ R+ R(x x) 该该CRCCRC码称为(码称为(n n,k k)循环码。)循环码。 117 四、循环冗余码四、循环冗余码CRCCRC v 由信息位产生冗余位的编码过程,就是已知由信息位产生冗余位的编码过程,就是已知M M(x x) 求求R R(x x)的过程。在)的过程。在CRCCRC码中可以通过找到一个特定码中可以通过
58、找到一个特定 的多项式的多项式G G(x x)来实现。用)来实现。用G G(x x)去除)去除x xr r M M(x x) 得到的余式就是得到的余式就是R R(x x),假设商的多项式为),假设商的多项式为Q Q(x x),), 编码过程编码过程 即即 x xr r M M(x x)G G(x x) Q Q(x x)+ R+ R(x x) v 生成多项式生成多项式G G(x x)应满足以下条件:)应满足以下条件: (1)(1)必须是必须是r r次多项式,最高项次多项式,最高项x xr r 和和x x0 0的系数为的系数为1 1, 即它对应的二进制编码是即它对应的二进制编码是r+1r+1位的。
59、位的。 (2)CRC(2)CRC校验码的任何一位发生错误,余数不为零;校验码的任何一位发生错误,余数不为零; 且不同位发生错误,余数不同。且不同位发生错误,余数不同。 (3)(3)对余数继续模对余数继续模2 2除,应使余数循环。除,应使余数循环。 )( )( )( )( )( xG xR xQ xG xMxr 118 四、循环冗余码四、循环冗余码CRCCRC v目前已经有多种生成多项式被列入国际标准中,目前已经有多种生成多项式被列入国际标准中, 如:如:CRC-4CRC-4、CRC-12CRC-12、CRC-16CRC-16、CCITT-16CCITT-16、CRC-CRC- 3232等。等。
60、 v目前常用的目前常用的CRC-16CRC-16多项式为多项式为x x16 16+x +x12 12+x +x5 5+1+1(记为(记为 10211021),),CCITT-16CCITT-16多项式为多项式为x x16 16+x +x15 15+x +x2 2+1+1(记为(记为 80058005)。)。 图图3.9 CRC3.9 CRC(n,kn,k)校验码串行生成电路原理)校验码串行生成电路原理 图图 图中图中GiGi代表生成多项式代表生成多项式G G(x x)各项的系数)各项的系数 Rr-1R1R0 输入输入 M(x) Gr-1 G2 G1 119 四、循环冗余码四、循环冗余码CRCC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工会中秋节策划实施方案
- 公司新员工工作方案模板
- 中秋活动主题方案
- 招标员工作方案模板
- 学生书法比赛的活动方案
- 大学生篮球赛策划方案实施方案
- 舌部肿瘤影像学诊断与分析
- 2025年结肠炎的预防与护理试题
- 小学生健康知识营养膳食
- 脑肿瘤磁共振波谱分析
- GA/T 1169-2014警用电子封控设备技术规范
- 第十二篇 糖尿病患者生活常识
- 污水处理站安全培训课件
- 2015高考全国新课标1地理试题及答案
- 超星尔雅《诗经》导读检测题答案
- GB 27954-2020 黏膜消毒剂通用要求
- 中考《红星照耀中国》各篇章练习题及答案(1-12)
- (完整版)ECRS培训课件
- 外轮理货工作英语
- 华中师范大学辅导员队伍建设实施办法
- kr法脱硫工艺介绍
评论
0/150
提交评论