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 , < L \ l | 1 1 0 1 CR GS - = M ] m } 1 1 1 0 SO RS 。 > 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