数据的机器层次表示.ppt

上传人:za****8 文档编号:6221103 上传时间:2020-02-19 格式:PPT 页数:48 大小:1,007.50KB
返回 下载 相关 举报
数据的机器层次表示.ppt_第1页
第1页 / 共48页
数据的机器层次表示.ppt_第2页
第2页 / 共48页
数据的机器层次表示.ppt_第3页
第3页 / 共48页
点击查看更多>>
资源描述
1 第2章数据的机器层次表示 2 一 计算机中的数值数据 计算机能够直接识别和处理的数据形式是二进制数八进制和十六进制常用于数据信息的输入输出后缀 二进制数 后缀B八进制数 后缀Q十进制数 后缀D或省略后缀十六进制数 后缀H 3 1 机器数 无符号数 就是整个机器字长的全部二进制位均表示数值位 没有符号位 相当于数的绝对值 二 无符号数和带符号数 带符号数 机器数分为符号和数值部分 均用二进制代码表示 2 无符号数的表示范围 机器字长为n位的无符号数的表示范围 0 2n 1 3 带符号位的机器数用 1 表示负 0 表示正 4 真值的概念 用 号加绝对值来表示数值的大小的形式称为真值 4 举例 对于无符号数01001 表示真值 911001 表示真值 25对于带符号数 01001 原 表示真值 9 11001 原 表示真值 9 5 注意 真值与机器数的区别 日常生活中 我们用 号加绝对值来表示数值的大小 用这种形式表示的数值在计算机技术中称为 真值 在计算机中需要把数的符号数码化 通常 约定二进制数的最高位为符号位 0 表示正号 1 表示负号 这种在计算机中使用的表示数的形式称为 机器数 6 三 原码表示法 最高位表示符号位 符号位为 0 表示该数为正 符号位为 1 表示该数为负 数值部分与真值相同 7 若真值为纯小数形式 其原码形式为Xs X1X2 Xn 字长n 1位 其中Xs表示符号位 例1 X1 0 0110 X1 原 0 0110 X2 0 0110 X2 原 1 0110 8 若真值为纯整数 其原码形式为XsX1X2 Xn 其中Xs表示符号位 例2 X1 1101 X1 原 01101X2 1101 X2 原 11101 注意 0的原码既可以是0 0000也可以是1 0000 因为0既可以看作 0也可看作 0 9 四 补码表示法 模的概念由于计算机的机器字长是有限的 所以当运算结果的位数超过机器字长时 向更高位的进位就会丢失 该更高位的权就是该计算机的模 10 2 定点小数与定点整数的模 1 对于n 1的定点小数来说 可表示为Xs X1X2 Xn 其中Xs是符号位 它的位权是20 符号位向更高位的进位会被丢失 所以定点小数以21为模 2 对于n 1的定点整数来说 可表示为XsX1X2 Xn 其中Xs是符号位 它的位权是2n 符号位向更高位的进位会被丢失 所以定点小数以2n 1为模 11 1 对于正数 补码与原码相同 对于负数 符号位与原码相同 数值部分按位取反 且在最低位上加1 2 若真值为纯小数例5 X1 0 0110 X1 补 0 0110X2 0 0110 X2 补 1 1010 3 补码表示 12 若真值为纯整数 它的补码形式为XsX1X2 Xn 其中Xs表示符号位 例6 X1 1101 X1 补 01101X2 1101 X2 补 100110的补码表示形式是唯一的 0 补 0 补 00000 13 当X为正数时 X 补 X 原 X当X为负数时 由 X 原转换为 X 补的方法 X 原除掉符号位外的各位取反加 1 自低位向高位 尾数的第一个 1 及其右部的 0 保持不变 左部的各位取反 符号位保持不变 例7 X 原 1 1110011000 X 补 1 0001101000 4 由原码转换为补码 14 五 反码表示法 对于正数 数值部分与真值形式相同 对于负数 将真值的数值部分按位取反 在反码表示中 真值0也有两种不同的表示形式 0 反 00000 0 反 11111 15 1 比较对于正数它们都等于真值本身 而对于负数各有不同的表示 补码和反码的符号位可作为数值位的一部分看待 和数值位一起参加运算 原码的符号位不允许和数值位同等看待 必须分开进行处理 注意0在原 反 补码中的不同表示形式 但补码负数表示范围比正数表示范围宽 能多表示一个最负的数 绝对值最大的负数 其值等于 2n 纯整数 或 1 纯小数 六 三种码制的比较与转换 16 2 转换 如果已知机器的字长 则机器数的位数应补够相应的位 例如 设机器字长为8位 则 X1 1011X2 1011 X1 原 00001011 X2 原 10001011 X1 补 00001011 X2 补 11110101 X1 反 00001011 X2 反 11110100X3 0 1011X4 0 1011 X3 原 0 1011000 X4 原 1 1011000 X3 补 0 1011000 X4 补 1 0101000 X3 反 0 1011000 X4 反 1 0100111 17 2 2机器数的定点表示与浮点表示 机器数的表示 定点表示 小数点位置固定不变 浮点表示 小数点位置根据需要而浮动 定点数 定点小数 即纯小数 小数点位置固定在最高有效位之前 符号位之后 记作 Xs X1X2 Xn 定点整数 即纯整数 小数点位置隐含固定在最低有效数位之后 记作XsX1X2 Xn 18 一 定点表示法 1 定点小数 小数点位置是隐含约定的 小数点并不需要真正地占据一个二进制位 19 定点小数表示范围 1 Xs 0表示正数当X1 Xn 1时 X为最大正数 X最大正数 1 2 n当X1 Xn 1 0 Xn 1时 X为最小正数 X最小正数 2 n 20 2 当Xs 1 表示X为负数 若机器数为原码表示 当X1 Xn均等于1时 X为绝对值最大的负数 X绝对值最大负数 1 2 n 若机器数为补码表示 当Xs 1 X1 Xn均等于0时 X为绝对值最大的负数 X绝对值最大负数 1 记住 21 2 定点整数 若机器字长有n 1位 则有 X最大正数 2n 1 X最小正数 1X绝对值最大负数 2n 1 X绝对值最大负数 2n 记住 22 小数点的位置根据需要而浮动 这就是浮点数 如 N M rEr为浮点数阶码的底 通常r 2 E称为阶码 M称为尾数 尾数为纯小数 常用原码或补码表示 阶码为纯整数 常用移码或补码表示 二 浮点表示法 23 图2 5浮点数的一般格式阶码位数决定浮点数的表示范围 尾数的位数决定浮点数的精度 浮点数的一般格式 24 浮点数的表示范围 尾数 阶码均用补码表示的情形当es 0 ms 0 阶码和尾数的数值位各位全为1 即阶码和尾数都为最大正数 时 该浮点数为最大正数 X最大正数 1 2 n 当es 1 ms 0 尾数的最低位mn 1 其余各位为0 该浮点数为最小正数 X最小正数 2 n 当es 0 阶码的数值位为全1 ms 1 尾数的数值位为全0时 该浮点数为绝对值最大负数 X绝对值最大负数 1 25 对于二进制浮点数而言 规格化浮点数尾数M的绝对值应满足 1 2 M 1尾数用原码表示时 规格化浮点数的尾数最高位为1 用补码表示时 规格化浮点数的尾数应满足最高位与符号位不同 规格化操作 通过相应地调整一个非规格浮点数的尾数和阶码大小 使非零的浮点数在尾数的最高位上保证一个有效值 当M 1 2 对于原码来说 是规格化数 而对于补码来说 不是规格化数 规格化浮点数 26 思考 在尾数 阶码均用补码表示的情况下 规格化的最小正数和绝对值最小负数分别是多少 规格化最小正数 2 1 规格化绝对值最小负数 2 1 2 n 27 三 移码表示法 浮点数的阶码在多数通用计算机中用移码表示 阶码用移码表示便于比较浮点数大小 阶码大的 其对应的真值就大 阶码小的 对应的真值就小 且便于对阶 X 移 偏置值 X偏置值的选择方法 设阶码共n 1位 则共有2n 1个无符号数 可选2n或2n 1作为偏置值使正负数分布均匀 28 举例 对于字长8位的定点整数 偏置值为27 例11 X 1011101 X 移 27 X 10000000 1011101 11011101 X 补 01011101例12 X 1011101 X 移 27 X 10000000 1011101 00100011 X 补 10100011 29 偏置值为27的移码 补码和真值之间的关系 30 偏置值为2n的移码的特点 参考P27表2 3 在移码中 最高位为 0 表示负数 最高位为 1 表示正数 移码为全0时 它所对应的真值最小 为全1时 它所对应的真值最大 真值0在移码中的表示形式是唯一的 即 0 移 0 移 100 0 移码把真值映射到一个正数域 所以可将移码视为无符号数 直接按无符号数规则比较大小 同一数值的移码和补码除最高位相反外 其他各位相同 31 图2 6IEEE754标准的浮点数格式 六 实用浮点数举例 32 IEEE754标准的短浮点数 最高位为数符位 阶码占8位 移码表示 偏置值为27 1 尾数占23位 采用隐含尾数最高数位1 即这一位1不表示出来 的方法 隐含的1是一位整数 即位权为20 在浮点格式中表示出来的23位尾数是纯小数 并用原码表示 33 例13 将 100 25 10转换成短浮点数格式 十进制数 二进制数 100 25 10 1100100 01 2 非规格化数 规格化数 1100100 01 1 10010001 26注意隐含的1为整数 计算移码表示的阶码 偏置值 阶码真值 1111111 110 10000101 以短浮点数格式存储该数 符号位 0 阶码 10000101尾数 10010001000000000000000短浮点数代码为0 10000101 10010001000000000000000即42C88000H 34 例14 把短浮点数C1C90000H转换成为十进制数 十六进制 二进制形式 并分离出符号位 阶码和尾数 C1C90000H 1 10000011 10010010000000000000000 计算出阶码真值 移码 偏置值 10000011 1111111 100 以规格化二进制数形式写出此数1 1001001 24 写成非规格化二进制数形式11001 001 转换成十进制数 并加上符号位 11001 001 2 25 125 10所以 该浮点数 25 125 35 2 6数据校验码 数据校验码是指能够发现错误或自动纠正错误的数据编码 又称之为 检错纠错编码 码距的概念 任何一种编码都由许多码字构成 任意两个码字之间最少变化的二进制位数 被称为数据校验码的码距 数据校验码的实现原理 某编码的码距越大 则其检错纠错能力越强 且检错能力总是大于等于纠错能力 36 一 奇偶校验码 奇偶校验码是一种最简单的数据校验码 它的码距等于2 可检出一位或奇数位错误 但不能确定出错的位置 也不能检测出偶数位错误 奇偶校验实现方法是 由若干位有效信息再加上一个校验位组成 校验位的取值 0或1 将使整个校验码中 1 的个数为奇数或偶数奇校验 整个校验码中 1 的个数为奇数偶校验 整个校验码中 1 的个数为偶数 37 1 简单奇偶校验 仅实现横向的奇偶校验 最高一位为校验位 其余位为信息位 实际应用中 多采用奇校验 校验位的形成 8位信息位为例 偶校验位 D7 D6 D5 D4 D3 D2 D1 D0奇校验位 D7 D6 D5 D4 D3 D2 D1 D0偶校验出错 D校 D7 D6 D5 D4 D3 D2 D1 D0奇校验出错 D校 D7 D6 D5 D4 D3 D2 D1 D0 38 奇偶校验位的形成及校验电路 校验检测 读出9位代码的同时送入奇偶校验电路检测 若校验出错 0则代码没有错误 若校验出错 1则代码有错但无法定位出错位 能发现一位或奇数个位出错 但不能定位出错位 39 3 交叉奇偶校验 横向 纵向同时校验的方法称为交叉校验 可以发现两位同时出错的情况第1字节11001011 1第2字节01011100 0第3字节10011010 0第4字节10010101 0 10011000 40 二 海明校验码 编码规则 编码最低位设为H1 2K 1 N K 1 N为信息位位数 K为校验位位数 校验位Pi在海明码中被分到位号2i 1的位置 海明码中信息位位号等于校验它的个校验位的位号之和 41 N 8 为满足2K 1 N K 1 K最小为5 设校验位为P5 P4 P3 P2 P1 海明码编码 校验过程 以N 8为例 P1 D1 D2 D4 D5 D7P2 D1 D3 D4 D6 D7P3 D2 D3 D4 D8P4 D5 D6 D7 D8P5 D1 D2 D3 D5 D6 D8 P5的计算 每一位信息为都均匀地出现在3个Pi值的形成关系式中 任一位信息位发生变化都将引起3个Pi值的变化 合法的海明码码距为4 42 校验过程将接收到的海明码进行偶校验 得到的S5 S1 指误字 能反映13位海明码的出错情况 当S5 S1为00000时 表明无错 当S5 S1中仅一位不为0 Si对应的Pi位出错 当S5 S1中有两位不为0 两位同时出错 无法确定出错的位置 当S5 S1中三位不为0 一位信息位出错 出错位的位号由S4 S1四位代码值指明 此时可纠正这个错误 将该位变反 当S5 S1中有四位或五位不为0时 出错严重 43 三 循环冗余校验码 在计算机网络 同步通信以及磁表面存储器中广泛使用循环冗余校验码 简称CRC码 模2运算模2加减0 0 00 1 11 0 11 1 00 0 00 1 11 0 11 1 0模2乘法 按模2加规则计算部分积之和 不进位 举例 1010 101模2除法原则 每求一位商使部分余数减少一位 当部分余数的首位为1时 商取1 当部分余数首位为0时商取0 当部分余数的位数小于除数的位数时 该余数就是最后的余数举例 10000 101 44 1 CRC码的编码方法 循环冗余校验码由信息位和校验位两部分组成的 若信息位为N位 校验位为K位 则该校验码被称为 N K N 码 45 编码规则 把待编码的N位有效信息表示为多项式M X 把M X 左移K位 得到M X XK 这样空出了K位 以便拼装K位余数 即校验位 选取一个K 1位的产生多项式G X 对M X XK作模2除 把左移K位以后的有效信息与余数R X 作模2加减 拼接为CRC码 此时的CRC码共有N K位 46 举例 已知M x 1001 G x 1011 计算出校验位 并组成循环冗余校验码 G x 有四位 故K 3 将M x 左移三位得到1001000用1011模2除1001000 得到商1010 余数110将余数与M x x3模2加得到CRC码1001110 47 2 CRC的校验与纠错 把接收到的CRC码用约定的生成多项式G X 去除 如果余数为0 则编码正确 如果余数不为0 编码出错 若余数不为101 将余数补0 当作被除数与G x 模2除 该操作直到某次余数为101为止 若余数为101 出错位在最高位 取反得正确编码 48 本章学习要求 了解 无符号数与带符号数 真值和机器数等概念掌握 原码 补码表示法以及2种码制与真值之间的转换方法掌握 定点数和浮点数的表示范围理解 浮点数阶码的移码掌握 IEEE754短浮点数标准掌握 奇偶校验位及其形成方法zw 海明校验码和循环冗余校验码
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!