当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

西安石油大学:《计算机组成原理》精品课程教学资源(电子教案)第二章 运算方法和运算器

资源类别:文库,文档格式:PDF,文档页数:53,文件大小:891.95KB,团购合买
本章主要介绍数据与文字的表示方法,定点加/减法运算及加法器,定点乘法运算,定点除法运算,定点运算器的组成与结构,浮点运算方法和浮点运算器。 2.1 数据与文字的表示方法 2.2 定点数的加减法运算及加法器 2.3 定点乘法运算 2.4 定点除法运算 2.5定点运算器的组成与结构 2.6浮点运算方法和浮点运算器
点击下载完整版文档(PDF)

第2章运算方法和运算器 内容提要: 本章主要介绍数据与文字的表示方法,定点加/减法运算及加法器,定点乘法运算 定点除法运算,定点运算器的组成与结构,浮点运算方法和浮点运算器。 2.1数据与文字的表示方法 补充:进位计数制及其转换 进位计数制一一按照进位计数制的方法表示数,例如十进制计数制是“逢十 进一”;而二进制则是“逢二进一”。 进位计数制的性质 2.常用的进位计数制 十进制、二进制、八进制和十六进制。 3.不同进位制之间数的转换 转换的依据是:任何两个有理数相等,则这两个数的整数和小数部分应 分别相等。 (1)十→二转换 整数部分的转换采用“除2取余法”(第1次得到的余数是二进制整数 的最低位)。 小数部分的转换采用“乘2取整法”(第1次得到的整数是二进制小数 的最高位) 还有“减权定位法”:例如(513)0=()2? 【解】513=512+1=2+2=(100001=(10000 十→八、十六转换方法与上相似。 (2)二→十转换 采用“按权展开相加法”。 (3)二→八、十六转换 方法:以小数点为基准,将二进制数向左(整数部分)和向右(小数部 分)每3(4)位为一组,每一组用相应的八进制(十六进制)数码表示即可。 例如,将二进制数100101010.10101转换为八、十六进制数 【解】先转换为八进制数:(100101010.10101)2=(45252)8 再转换为十六进制数:(100101010.10101)=(12AA8) 2.1.1数值的机器码表示: 几个术语 ①码制:计算机表示数的大小和正负的方法 ②机器数:计算机内部编码表示的数,称为机器数(码 ③真值:机器数原来的数值称为真值 ④机器数的形式:原码,补码,移码,反码

第 2 章 运算方法和运算器 内容提要: 本章主要介绍数据与文字的表示方法,定点加/减法运算及加法器,定点乘法运算, 定点除法运算,定点运算器的组成与结构,浮点运算方法和浮点运算器。 2.1 数据与文字的表示方法 补充: 进位计数制及其转换 进位计数制――按照进位计数制的方法表示数,例如十进制计数制是“逢十 进一”;而二进制则是“逢二进一”。 1.进位计数制的性质 2.常用的进位计数制 十进制、二进制、八进制和十六进制。 3.不同进位制之间数的转换 转换的依据是:任何两个有理数相等,则这两个数的整数和小数部分应 分别相等。 (1)十→二转换 整数部分的转换采用“除 2 取余法”(第 1 次得到的余数是二进制整数 的最低位)。 小数部分的转换采用“乘 2 取整法”(第 1 次得到的整数是二进制小数 的最高位)。 还有“减权定位法”:例如(513)10=( )2? 【解】513=512+1=29 +20 =(1000000000+1)2=(1000000001)2 十→八、十六转换方法与上相似。 (2)二→十转换 采用“按权展开相加法”。 (3)二→八、十六转换 方法:以小数点为基准,将二进制数向左(整数部分)和向右(小数部 分)每 3(4)位为一组,每一组用相应的八进制(十六进制)数码表示即可。 例如,将二进制数 100101010.10101 转换为八、十六进制数。 【解】先转换为八进制数:(100 101 010.101 01)2=(452.52)8 再转换为十六进制数:(1 0010 1010.1010 1)2=(12A.A8)16 2.1.1 数值的机器码表示: 几个术语: ① 码制:计算机表示数的大小和正负的方法。 ② 机器数:计算机内部编码表示的数,称为机器数(码); ③ 真值:机器数原来的数值称为真值; ④ 机器数的形式:原码,补码,移码,反码

1.原码表示: (1)定点小数的原码 ①定义 1>X≥0 X=1+|X0≥X>-1 ②原码的主要性质 a.符号位X反映真值的正负 真值为负 真值为正 例:X=+0.1101,则[X]=0.101 Y=0.1101,则Y]x=1.111 b.0的原码有两种表示形式 [-0]=1.000.0 (2)定点整数的原码 [le 0≤X<2n-1 2n-1<X≤0 式中n为字长的位数 (3)原码表示的优缺点及其应用: 优点:与真值之间的转换方便,直观,便于乘除运算 缺点:加减运算不方便 应用:实现乘除运算:作为由负数区X和X取得真值的过渡代码。 2补码表示 (1)模与同余 ①模:一个计数器的计数容量叫做模,记为mod 例:n位二进制计数器的模为20 ②同余:如果对于两个整数a和b,用同一正整数M去除,所得余数相等,则称a, b对模数M是同余的。记为:a=b(modM) 例:13=23(mod10) ( mod 12) (2)补码的定义 任意一个数X的补码,等于该数加上其模数M,即 [X]补=X+M(ModM ①用n位二进制数表示整数补码(包括一位符号),则 X0≤X≤2n--1 2n+X-2n1≤X<0 ②用n位二进制表示小数的补码(包括一位符号),则 X0≤X≤1-2 2+X 1≤X<0

1. 原码表示: (1) 定点小数的原码 ① 定义 [X ⎩ ⎨ ⎧ −>≥+=− ≥> = 10||11 01 ] XXX X X 原 ② 原码的主要性质 a.符号位X0反映真值的正负。 X0= ⎩ ⎨ ⎧ — —真值为负 0 1 — —真值为正 例:X=+0.1101,则[X]原=0.1101 Y=-0.1101,则[Y]原=1.1101 b.0 的原码有两种表示形式: [+0]原=0.000…0 [-0]原=1.000…0 (2)定点整数的原码 [ ] ⎪⎩ ⎪ ⎨ ⎧ − ≤<− <≤ − − − 2 2 0 20 1 1 1 X X X X X n n n 原= 式中 n 为字长的位数。 (3)原码表示的优缺点及其应用: 优点:与真值之间的转换方便,直观,便于乘除运算; 缺点:加减运算不方便。 应用:实现乘除运算;作为由负数[X]补和[X]反取得真值的过渡代码。 2.补码表示: (1) 模与同余 ① 模:一个计数器的计数容量叫做模,记为 mod。 例:n位二进制计数器的模为 2n ② 同余:如果对于两个整数 a 和 b,用同一正整数 M 去除,所得余数相等,则称 a, b 对模数 M 是同余的。记为:a=b (mod M) 例:13=23 (mod 10) , -7=5 (mod 12) (2) 补码的定义: ⎩ ⎨ ⎧ <≤− −≤≤ = − − 02X2 12X0X ][ n 1 1 X X n n + 补 ⎧ −≤≤ −− 21X0X [ )1( X n 任意一个数 X 的补码,等于该数加上其模数 M,即: [X]补=X+M (Mod M) ① 用 n 位二进制数表示整数补码(包括一位符号),则 ② 用 n 位二进制表示小数的补码(包括一位符号),则 ⎩ ⎨ <≤− = 01X2 ] + X 补

即:[X]=2+X(mod2) 【例21】已知二进数X=+0.10110,Y=-0.10110,Z=-1,若计算机的字长为 8位,求X、Y和Z的原码及补码。 解:〖X]=0.101100,X1*=0.10110000Y]=1.10110,Y]=1.0101000 1的定点小数的原码不存在,[Z]=1.00…0 (3)补码的主要性质: ①符号位X0反映真值的正负 j一一真值为负 真值为正 ②0的补码只有一种表示形式 +0]补=O]e=0.00.0 值得指出的是:负数的补码大于正数的补码:在正数和负数的各自范围内,补码大的, 其真值也大。反之亦然 (4)补码表示的优缺点及其应用: 优点:加减运算方便 缺点:负数补码与真值的转换不直观 应用:加减运算 3.反码表示 (1)反码的定义 设X=±0X1X2X(定点小数),则 0≤X<1 Xlk=1(2-2“)+X 1<X≤0 例:X=+0.1001,Y=0.1001 则:[X1k=01001 Y]k=(2-2-100)+(-0.1001)=1.0110 2)反码的主要性质 ①符号位X反映真值的正负 真值为负 0—一真值为正 ②0的反码有两种表示形式 +0]k=0.00.0 -0]lk=1.11..1 ③负数的反码大于正数的反码,在正数和负数各自的范围内,反码 其真值也大,反之亦然 4移码表示: (1)整数移码的定义 若定点整数X的字长为n位(包括1位符号位),则移码的定义如下 2≤X<21(md2)(28) 【例24】设X=+101,Y=-1011,若阶的位数为6位(包括1位阶符), 求X和Y的移码 【解】依定义,[X]=2104+1011=101011,Yl=210+(-101)=010101

即: [X]补=2+X (mod 2) 【例 2.1】 已知二进数 X=+0.10110,Y=―0.10110,Z=―1,若计算机的字长为 8 位,求 X、Y 和 Z 的原码及补码。 解:[X]原=0.1011000,[X]补=0.1011000,[Y]原=1.1011000,[Y]补=1.0101000。 ―1 的定点小数的原码不存在,[Z]补=1.00…0。 (3) 补码的主要性质: ① 符号位 X0 反映真值的正负 X0= ⎩ ⎨ ⎧ — —真值为负 0 1 — —真值为正 ② 0 的补码只有一种表示形式 [+0]补=[-0]补=0.00…0 值得指出的是:负数的补码大于正数的补码;在正数和负数的各自范围内,补码大的, 其真值也大。反之亦然。 (4) 补码表示的优缺点及其应用: 优点:加减运算方便; 缺点:负数补码与真值的转换不直观。 应用:加减运算。 3.反码表示: (1) 反码的定义: ⎩ ⎨ ⎧ − ≤<− <≤ = 01X)22( X 1X0 ][ n- X X 反 + 设 X=±0.X1X2…Xn(定点小数),则 例:X=+0.1001,Y=-0.1001 则:[X]反=0.1001 [Y]反=(2-2-100)+(-0.1001)=1.0110 (2)反码的主要性质: ① 符号位X0反映真值的正负 X0= ⎩ ⎨ ⎧ — —真值为正 — —真值为负 0 1 0 ② 0 的反码有两种表示形式: [+0]反=0.00…0 [-0]反=1.11…1 ③ 负数的反码大于正数的反码,在正数和负数各自的范围内,反码大的, 其真值也大,反之亦然。 4.移码表示: (1). 整数移码的定义: 若定点整数 X 的字长为 n 位(包括 1 位符号位),则移码的定义如下: n-1 n-1 n-1 n [X]移=2 +X ―2 ≤X<2 (mod 2 ) (2.8) 【例 2.4】 设 X=+1011,Y=―1011,若阶的位数为 6 位(包括 1 位阶符), 求 X 和 Y 的移码。 【解】依定义,[X]移=2110-1+1011=101011,[Y]移=2110-1+(―1011)=010101

(2).移码的主要性质: 0一一真值为负 ①符号位X0反映真值的正负,XO= 一真值为正 ②在限定的位数下,最小的负数,其移码为00……0 例:n=5位,x=2,则x]=25+(-23)=00000 ③0的移位只有一种表示形式 [0]=2+0=1,00…0 ④真值大的,其移码也大,反之亦然。这就使移码表示的阶码便于用比较电路比较阶 码的大小。 2.1.2数值数据的定点与浮点表示 1.定点表示法: 定点表示法:小数点的位置固定不变 点机:数是用定点表示的计算机。 (1)常用的定点表示: 定点于数的最高位之前: Xn- Xn 符号位量值(尾数) 表数范围: 原码:-(1-2)~+(1-2 补码 定点于数的最低位之后 符号位量值(尾数) 表数范围:原码:-(20-1)~+(22-1) 补码、移码:-2"~+(2-1) (2)定点表示的优缺点 优点:运算简单,速度快,硬件较简单 缺点:表数范围窄,运算精度低,使用不方便 2.浮点数表示:小数点的位量可以在一定范围内浮动 点机:数是用浮点表示的计算机 (1).浮点数N的构成 NER XM 在机器中的表示 指数E 尾数M 式中:E为阶,包括阶符和阶码(整数),阶码位数决定了浮点数的表数范围。 M为尾数,包括数符和尾数,表示数的精度和正负。 【例25】设数的表数范围为十进制数的±10×1030,精度要求为6位十进制有 效数字,已知lg2=0.301,基数R=2,试设计出满足以上要求的最少字长二进制 位数的浮点数据格式 【解】设阶码为m位,尾数为n位的规格化浮点数,其表数范围为

(2). 移码的主要性质: ⎩ ⎨ ⎧ — — 1 0 ① 符号位 X0 反映真值的正负,X0= —真值为正 —真值为负 ② 在限定的位数下,最小的负数,其移码为 00……0 例:n=5 位,x=-25 ,则[x]移=25 +(-25 )=0,00000 ③ 0 的移位只有一种表示形式: [0]移=2n-1+0=1,00……0 ④真值大的,其移码也大,反之亦然。这就使移码表示的阶码便于用比较电路比较阶 码的大小。 2.1.2 数值数据的定点与浮点表示 1. 定点表示法: 定点表示法:小数点的位置固定不变; 定点机:数是用定点表示的计算机。 (1)常用的定点表示: 定点于数的最高位之前: X0 . X1 X2 … Xn-1 Xn 符号位 量值(尾数) 表数范围: 原码:― -n (1―2 )~ +(1―2-n) 补码:―1 ~ +(1―2-n) 定点于数的最低位之后: X0 X1 X2…Xn-1 Xn . 符号位 量值(尾数) 表数范围:原码:―(2n ―1) ~ +(2n ―1) 补码、移码:―2n ~ n +(2 ―1) (2) 定点表示的优缺点: 优点:运算简单,速度快,硬件较简单; 缺点:表数范围窄,运算精度低,使用不方便。 2. 浮点数表示:小数点的位置可以在一定范围内浮动。 浮点机:数是用浮点表示的计算机。 (1). 浮点数 N 的构成 N=RE ×M 在机器中的表示: 指数 E 尾数 M 式中:E 为阶,包括阶符和阶码(整数),阶码位数决定了浮点数的表数范围。 M 为尾数,包括数符和尾数,表示数的精度和正负。 【例 ±50 2.5】设数的表数范围为十进制数的±1.0×10 ,精度要求为 6 位十进制有 效数字,已知 lg2=0.301,基数 R=2,试设计出满足以上要求的最少字长二进制 位数的浮点数据格式。 【解】设阶码为 m 位,尾数为 n 位的规格化浮点数,其表数范围为:

由于尾数的最大值(1-2")在n足够大时可认为是1,故依要求,有22-≥1050, 两边取以10为底的对数,则2m-1≥350,所以m≥g(50 +1)÷l2≈74。取m=8, 另加一位阶符共9位 由于精度要求为6位十进制数的有效数字,则:2≤10-6 即n≥6≈199,取n=20, 另加一位数符,再考虑字长通常是8的整倍数,故尾数共为23位。 (2)规格化浮点数 ①什么叫规格化数? 尾数的最高位为非零数值的浮点数,即 .4MkI(R=2) 例:20×0.1011--规格化 2m×0.01011--非规格化 ②为什么要规格化? a.使一个数的浮点表示是惟一的 b.能保留最多的有效数字,避免丢失运算精度。 例:计算0.1101×0.0001的乘积 【解】:定点运算法:0.1101×0.0001-=0.00001101 取高位乘积:0.1101×00001=00000 浮点运算法:0.1101=2×0.1101,00001=2×0.1000 即:(2×0.1101)×(2×0.1000=2×001101000 左规 200×0.11010000 可见浮点运算精度高。 ③如何实现规格化? a若M≥1,则将尾数右移,每右移一位,阶码加1,称为向右规格化,简称右规 b若NF2,则将尾数左移,每左移一位,阶码减,称为向左规格化,简称左规 c.判断补码表示的尾数规格化的逻辑表达式为 N= M,MI+M,MI (2.10) 其中,Ms为数符,M1为补码尾数的最高位 可见,当N=1时,尾数为规格化尾数 小结: h规格化的过程,就是自动调节比例因子的过程 批注 b.尾数为零的浮点数不能规格化。 ④规格化浮点数的表数范围 ×2s|s2×(1-2")(21) 例:m=2,n=4

)21(2||2 1)1 12 n m m N −− − − 2 −×≤≤× − 2( − 21( 5012 ≥102 −m 由于尾数的最大值 ) 在 n 足够大时可认为是 1,故依要求,有 , −n 两边取以 10 为底的对数,则 2lg 50 1 ≥− m2 , 所以 4.72lg)1 2 ≈÷+ lg 50 ≥ lg( 6 10− ≤ −n m 。取 m=8, 另加一位阶符共 9 位。 由于精度要求为 6 位十进制数的有效数字,则:2 ,即 9.19 6 ≈≥ 2lg n ,取 n=20, 另加一位数符,再考虑字长通常是 8 的整倍数,故尾数共为 23 位。 (2)规格化浮点数 ① 什么叫规格化数? 尾数的最高位为非零数值的浮点数,即: 1|| 2 1 M <≤ (R=2) 例: 2011×0.1011 ---- 规格化 2100×0.01011 ---- 非规格化 ② 为什么要规格化? a.使一个数的浮点表示是惟一的 b.能保留最多的有效数字,避免丢失运算精度。 例:计算 0.1101×0.0001 的乘积 【解】:定点运算法:0.1101×0.0001=0.00001101 取高位乘积:0.1101×0.0001=0.0000 0 ×0.1101, 0.0001=2 浮点运算法:0.1101=2 -11×0.1000 即:(20 × -11 0.1101)×(2 ×0.1000)=2-11×0.01101000 左规 =2-100×0.11010000 可见浮点运算精度高。 ③ 如何实现规格化? a.若 |M|≥1 ,则将尾数右移,每右移一位,阶码加 1,称为向右规格化,简称右规。 b.若 |M|< 2 1 ,则将尾数左移,每左移一位,阶码减 1,称为向左规格化,简称左规。 c. 判断补码表示的尾数规格化的逻辑表达式为: N = s 1 + s MMMM 1 (2.10) 其中, Ms 为数符,M1 为补码尾数的最高位。 可见,当 N=1 时,尾数为规格化尾数 小结: a. 规格化的过程,就是自动调节比例因子的过程; b. 尾数为零的浮点数不能规格化。 批注 [M1]: ④ 规格化浮点数的表数范围: )21(222 1)12( 12 n m m N −−− − − −×≤≤× (2.11) 例:m=2,n=4,则

1 对于补码来说,正数:2×2~2-×(1-2) 负数 (4)浮点数表示的优缺点 优点:表数范围宽,使用方便,运算精度高 缺点:运算复杂,硬件较复杂 (5)IEEE754标准一浮点表示标准化 ①IEEE754的浮点数格式 阶用移码,尾数用原码,规格化尾数为LM *个位上的1为隐含位 ②两种常用的IEEE754浮点数据格式 单精度格式(32位):S为1位,阶码8位,M为23位 E=(2-1)+e=127+e,(注:一般E=2+e) 真值e 127],则E=[1254] 规格化数为:N=-1)×2-127×(1Mn 则表数范围 正数为 N=27×(1+1-23)~2126×(1+0), 负数为 (1+0) 当E等于0或255时,在IEE754标准中分别表示特殊的数值,即表示特殊的浮点数。 若E=0,且M=0,则表示浮点数N为0,此时尾数的隐含位是0,不是1。 若E=0,且M≠0,则表示非规格化的浮点数,N=(-1)5×226×(0.M,用它可以表示 绝对值较小的数。 若E=255,且M=0,则表示该浮点数为无穷大,N=(-1)×∝(±∝),表示N=a/0(a≠ 0)时的值 若E=255,且M≠0,则表示是一个“非数值”,N=NaN( Not a number),表示00的值。 b.双精度格式(64位)符号位S为1位,阶码11位,M为52位 E=(20-1)+e=1023+e,(注:一般E=1024+e) e表示数的范围是[-102,1023,则E=[1,2046] 规格化数为 N=(-1)5×21023×(1M) (2.13) 则规格化数的表示数的范围 正数为:N=2×(1+1-22)~2×(1+0) 数为:N=-2023×(1+1-232)~-2102×(1+0) ③IEEE754标准举例 已知一个EEE754的单精度机器数为:E0C80000H,求它所表示的十进制数 的真值是多少? 【解】:EOC80000H=111000001100100000000000000000

= 2 5.7)21( )12( 4 2 =−× − − |N|max 16 2 2 1)12( 1 =× −−− 2 2m m −− − − )1(2~~)22(2 2 1 12 −−× −× − −− − m m n |N|min= 2 对于补码来说,正数: )21(2~~2 121 n × −× 负数: (4) 浮点数表示的优缺点: 优点: 表数范围宽,使用方便,运算精度高。 缺点: 运算复杂,硬件较复杂。 (5)IEEE754 标准—浮点表示标准化 ① IEEE754 的浮点数格式 符号位 指数 尾数 S E M 阶用移码,尾数用原码,规格化尾数为 1.M *个位上的 1 为隐含位 ② 两种常用的 IEEE754 浮点数据格式: 单精度格式(32 位) :S 为 1 位,阶码 8 位,M 为 23 位 E=(2 -1)+e=127+e, (注:一般E=2 7 7 +e) 真值 e=[–126, 127],则 E=[1, 254] 规格化数为: S E-127 N=(-1) ×2 ×(1.M) 则表数范围: 正数为: N=2127 ×(1+1–2-23) ~ 2-126 ×(1+0), 负数为: 127 N=–2 ×(1+1–2-23) ~ –2-126 ×(1+0) 当 E 等于 0 或 255 时,在 IEEE754 标准中分别表示特殊的数值,即表示特殊的浮点数。 若 E=0,且 M=0,则表示浮点数 N 为 0,此时尾数的隐含位是 0,不是 1。 若E=0,且M≠0,则表示非规格化的浮点数,N=(-1)S ×2-126 ×(0.M),用它可以表示 绝对值较小的数。 若 S E=255,且M=0,则表示该浮点数为无穷大,N=(-1) ×∝(±∝),表示N=a/0(a≠ 0)时的值。 若 E=255,且 M≠0,则表示是一个“非数值”,N=NaN (Not a number),表示 0/0 的值。 b. 双精度格式(64 位):符号位 S 为 1 位,阶码 11 位,M 为 52 位 E= (210-1) +e=1023+e, (注:一般E=1024+e) e 表示数的范围是[–1022, 1023], 则 E=[1, 2046] 规格化数为: N=(-1)S × E-1023 2 ×(1.M) (2.13) 则规格化数的表示数的范围: 正数为: 1023 N=2 ×(1+1–2-52) ~ 2-1022 ×(1+0), 负数为: N=–21023 ×(1+1–2-52) ~ –2-1022 ×(1+0) ③IEEE754 标准举例 已知一个 IEEE754 的单精度机器数为:E0C80000H,求它所表示的十进制数 的真值是多少? 【解】:E0C80000H=1 110 0000 1100 1000 0000 0000 0000 00002

可见,S=1,E=193,M=0.5625,所以e-127=193-127=66,则所表示的 十进制数的真值是: 2×(1.5625) 2.1.3非数值信息的表示 1.字符与字符串的表示方法: 包括字符信息,汉字信息及逻辑数据等必须是计算机能表示和处理的二进制代码 表2.1AsCH字符编码表 b, b: br be 0 0 T ENQ J (1)ASCI码:7单位的ASCI码,共2=128个编码。 ①可输入和显示的编码95个: ②控制码编码33个: 用于控制某些外设的工作特性和某些软件的运行情况。 (2)字符串表示:用连续的一串字符编码表示。 例:IFA> B THEN READ(C) 符编码对应的十进制数为:73,70,96,65,62,66,96,84,72,69,78,96, 在32位字长的内存中如下存放

可见,S=1, E=193, M= 0.5625, 所以 e=E–127=193–127=66, 则所表示的 十进制数的真值是: N=(–1)1 ×266 ×(1+0.5625) =–266 ×(1.5625) 2.1.3 非数值信息的表示 1.字符与字符串的表示方法: 包括字符信息,汉字信息及逻辑数据等必须是计算机能表示和处理的二进制代码 表 2.1 ASCII 字符编码表 b6 b5 b4 b3 b2 b1 b0 000 001 010 011 100 101 110 111 0 0 0 0 NUL DLE SP 0 @ P p 0 0 0 1 SOH DC1 ! 1 A Q a q 0 0 1 0 STX DC2 “ 2 B R b r 0 0 1 1 ETX DC3 # 3 C S c s 0 1 0 0 EOT DC4 $ 4 D T d t 0 1 0 1 ENQ NAK % 5 E U e u 0 1 1 0 ACK SYN & 6 F V f v 0 1 1 1 DEL ETB 7 G W g w 1 0 0 0 BS CAN ( 8 H X h x 1 0 0 1 HT EM ) 9 I Y i y 1 0 1 0 LF SUB * : J Z j z 1 0 1 1 VT ESC + ; K [ k { 1 1 0 0 FF FS , N ↑ n ~ 1 1 1 1 SI US / ? O _ o DEL (1)ASCII码:7 单位的ASCII码,共 2 7 =128 个编码。 ① 可输入和显示的编码 95 个: 0 - 9,A - Z ,a - z ,+ ,-,… ② 控制码编码 33 个: 用于控制某些外设的工作特性和某些软件的运行情况。 (2)字符串表示:用连续的一串字符编码表示。 例:IF A>B THEN READ(C) 字符编码对应的十进制数为: 73,70,96,65,62,66,96,84,72,69,78,96, 82,69,65,68,40,67,41,96 。 在 32 位字长的内存中如下存放: I F 空 A > B 空 T H E N 空 R E A D

(3). EBCDIC 4: (Extended Binary Coded Decimal Interchange Code 用八位二进制表示1个字符,共有256个符号。 广泛应用于大型机 2.汉字编码 (1)汉字输入编码 ①数字编码: 如国标区位码:94区×9位,表示一、二级汉字6763个每个汉字用4位十进制数字 表示,如“中”字的区位码为5448。 尤点:无重码,与内部编码的转换较方便 缺点:代码难记忆。 ②拼音码:用拼音字母输入 优点:易于掌握。 缺点:重码多,速度慢 ③字型编码:采用汉字的字型(形状进行编码 如五笔字型编码,黄码等 (2)汉字内码 计算机内用于汉字信息的存储、交换、检索等操作的机内代码.常用两个字 节的编码表示,且最高位为1。 (3)汉字字棋码 用点阵表示的汉字字形代码,是汉字的输出形式。 ①常用的汉字点阵: 简易型:16×16 提高型:24×24,32×32 汉字字模的轮廓描述 2.1.4数据校验码 1.数据校验码:用以发现或同时能得出错误位置特征的数据编码 计算机中的错误类型 1)固定性错误--元器件故障 2)突发性错误-噪声干扰 2检错码一奇偶校验码 (1)定义 使包括一位校验位在内的数据代码,“1”的个数总是奇(或偶)数个为有效的数据编码。 设二进制数X=XX1Xa1,校验位为C,则 奇校验码X⊕X1由Xn1C=1 偶校验码X④X1⊕..④Xn④C=0 (2)奇偶校验位的生成 C奇=X0X1田…④Xn C偶=X0④X1④…Xn 3)奇偶校验码的检错过程 设检错码XX1X2XC存在内存中

( C ) 空 (3).EBCDIC 码:(Extended Binary Coded Decimal Interchange Code) 用八位二进制表示 1 个字符,共有 256 个符号。 广泛应用于大型机。 2. 汉字编码 (1)汉字输入编码 ① 数字编码: 如国标区位码:94 区×94 位,表示一、二级汉字 6763 个,每个汉字用 4 位十进制数字 表示,如“中”字的区位码为 5448。 优点:无重码,与内部编码的转换较方便; 缺点:代码难记忆。 ② 拼音码:用拼音字母输入。 优点:易于掌握。 缺点:重码多,速度慢。 ③ 字型编码:采用汉字的字型(形状)进行编码。 如 五笔字型编码,黄码等。 (2)汉字内码 计算机内用于汉字信息的存储、交换、检索等操作的机内代码.常用两个字 节的编码表示,且最高位为 1。 (3)汉字字模码 用点阵表示的汉字字形代码,是汉字的输出形式。 ①常用的汉字点阵: 简易型: 16×16 提高型: 24×24,32×32 ②汉字字模的轮廓描述 2.1.4 数据校验码 1.数据校验码:用以发现或同时能得出错误位置特征的数据编码。 计算机中的错误类型: 1)固定性错误 ---元器件故障; 2)突发性错误 ---噪声干扰。 2.检错码--奇偶校验码 (1)定义 使包括一位校验位在内的数据代码,“1”的个数总是奇(或偶)数个为有效的数据编码。 设二进制数X=X0X1……Xn-1,校验位为C,则 奇校验码 X0⊕X1⊕ ……⊕Xn-1⊕C=1 偶校验码 X0⊕X1⊕ ……⊕Xn-1⊕C=0 (2) 奇偶校验位的生成 10 1 X ...... X ⊕⊕⊕ Xn− ⊕ C奇= C偶=X0 X1⊕ ……⊕Xn-1 (3) 奇偶校验码的检错过程 设检错码X0X1X2X3C存在内存中

①设读出时为X0XX2XC ②由XX1X2X3形成C* 是一一说明无错或无奇数位出错 =否一一奇数位出错 例:X0X1X2XC=10110(奇) XOXIXX3C=11ll0 由XX1X2X3生成C*=(1由1)⊕(1)=1则 C*④C=l④0=1--出错 (4)优缺点 优点:简单易行,省器件。 缺点:只能发现奇数位错,无纠错能力。 3.码距与检错,纠错能力的关系 (1)码距d: 代码中的不同的位数称为这两个码字间的距离"。 各码字之间的最小距离称为码距。 如:奇偶校验码d=2 (2)码距与査错,纠错能力的关系 ①设码距d为奇数,若只用于判明有无错,可发现(d-l)位错,若用来纠错,则能纠 正[(d-l)2]位错 ②若d为偶数,可发现d/2位错,能纠正(d2-1)位错。 4循环冗余校验 (1)纠正一位错所需的校验码位数r 设待编码的信息有效位数为n,则r应满足: 2>=n+r+1即r>log2n 表22n和r的位数关系 2~45~1112~26 (2)模2四则运算 ①模2加法(按位加):0+0=0,0+1=1+0=1,1+1=0(mod2) ②模2减法:0-0=0,1-0=1,0-1=1,1-1=0(mod2) ③模2乘法:按模2加法求部分积之和,不考虑进位 ④模2除法:按模2减法求部分余数,不借位 商规则:余数首位为1,商为1,余数首位0,商上0:余数位数少于除数位数即为最 后余数。 【例2.9】(1)已知x=1101,y=1011,求xxy(mod2) (2)已知x=1ll,y=110,求x÷y(mod2)

① 设读出时为 X0'X1'X2'X3'C' ② 由X0'X1'X2'X3'形成C*; ③ 判 C* ? C' ⎩ ⎨ ⎧ 否 是 — —奇数位出错 — —说明无错或无奇数位出错 例:X0X1X2X3C =10110 (奇) X0'X1'X2'X3'C'=11110 由X0'X1'X2'X3'生成C*= ⊕⊕⊕ )11()11( ⊕ =1 则 C* C’=1⊕0=1 ---出错 (4) 优缺点 优点:简单易行,省器件。 缺点:只能发现奇数位错,无纠错能力。 3.码距与检错,纠错能力的关系: (1)码距 d: 代码中的不同的位数称为这两个码字间的"距离"。 各码字之间的最小距离称为码距。 如:奇偶校验码 d=2。 (2)码距与查错,纠错能力的关系: ① 设码距 d 为奇数,若只用于判明有无错,可发现(d-1)位错,若用来纠错,则能纠 正[(d-1)/2]位错; ② 若 d 为偶数,可发现 d/2 位错,能纠正(d/2-1)位错。 4.循环冗余校验码 (1) 纠正一位错所需的校验码位数 r 设待编码的信息有效位数为 n,则 r 应满足: 2r >=n+r+1 即 r>log2n 表 2.2 n 和 r 的位数关系 n 1 2~4 5~11 12~26 r 2 3 4 5 (2) 模 2 四则运算: ① 模 2 加法(按位加):0+0=0,0+1=1+0=1,1+1=0 (mod 2); ② 模 2 减法: 0-0=0,1-0=1,0-1=1,1-1=0 (mod 2); ③ 模 2 乘法: 按模 2 加法求部分积之和,不考虑进位; ④ 模 2 除法: 按模 2 减法求部分余数,不借位。 上商规则:余数首位为 1,商为 1,余数首位 0,商上 0; 余数位数少于除数位数即为最 后余数。 【例 2.9】(1)已知 x=1101,y=1011,求 x×y(mod 2), (2)已知 x=1111111,y=1101,求 x÷y(mod 2)

1101 101 1011 01 0000 1101 1111111 故x÷y=1011(mod2) (3)循环冗余校验码 ①循环码的生成:把待编码字M(x)左移r位,按模2除法除以(r+1)位的生成多项式 G(x),将余数R(x)加上M(x)×X,便可得到循环码v(x)。 M(x)·X Q(x)+ G(x) G(x) 即M(x)×X=Qx)×G(x)+R(x) 用模2加代替:M(x)×X+R(x=Q(x)×G(x) 令:V(x=M(x)×X+R(x) V(x) Q(x)+0 可见:正确的循环校验码(x)应能被G(x)整除 例:对四位有效信息1101作(7,4)循环码,选G(x)=101l 【解】aMx)=X3+x2+1=1101: bM(x)×X=X°+X+X=1101000 c求模2除余数R(x) M(x)·X31101000 l111+ 形成循环校验码:V(x)=M(x)×x3+R(x)=1101001 ②循环码的纠错原理(对于G(x=1011) 若接收到的循环码V(x)能被G(x)整除,则无错,余数非零则出错,余数为101时是左 起第一位出错;余数非零又非101时,继续做模2除,若除p次后得余数101,则左 起p+1位出错,将出错位变反得到正确循环码 例:检验校验码V(X)=1101010是否出错,若出错则加以纠正。 【解】:

故 x÷y=1011(mod 2) (3) 循环冗余校验码: ① 循环码的生成:把待编码字M(x)左移r位,按模 2 除法除以(r+1)位的生成多项式 G(x),将余数R(x)加上M(x)×Xr ,便可得到循环码V(x)。 xG )( xG )( )( )( )( xR xQ XxM r += ⋅ 即 M(x)×Xr =Q(x)×G(x)+R(x) 用模 2 加代替: M(x)×Xr +R(x)=Q(x)×G(x) 令:V(x)=M(x)×Xr +R(x) 则: 0)( G(x) V(x) xQ += 可见:正确的循环校验码 V(x)应能被 G(x)整除。 例:对四位有效信息 1101 作(7,4)循环码,选 G(x)=1011 【解】a. M(x)=X3 +X2 +1=1101; b.M(x)×X3 =X6 +X5 +X3 =1101000 ; c.求模 2 除余数 R(x): 1011 001 1111 1011 1101000 )( )( 3 = += ⋅ xG XxM x y = = 1 1 1 0 0 1 1 1 1 1 0 1 R(x)=001 d.形成循环校验码: V(x)=M(x)×X3 +R(x)=1101001。 ② 循环码的纠错原理(对于 G(x)=1011): 若接收到的循环码 V'(x)能被 G(x)整除,则无错,余数非零则出错,余数为 101 时是左 起第一位出错;余数非零又非 101 时,继续做模 2 除,若除 p 次后得余数 101,则左 起 p+1 位出错,将出错位变反得到正确循环码。 例:检验校验码 V’(X)=1101010 是否出错,若出错则加以纠正。 【解】: 1 1 0 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 解:(1) 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 解:(2) - 1101 0 1 0 1 - 0 0 0 0 1 0 1 1 - 1 1 0 1 1 1 0 1 - 1 1 0 1 0 0 0

点击下载完整版文档(PDF)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共53页,可试读18页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有