第03章-数据存储知识讲解

上传人:youn****329 文档编号:129996546 上传时间:2020-04-24 格式:PPT 页数:86 大小:1.53MB
返回 下载 相关 举报
第03章-数据存储知识讲解_第1页
第1页 / 共86页
第03章-数据存储知识讲解_第2页
第2页 / 共86页
第03章-数据存储知识讲解_第3页
第3页 / 共86页
第03章-数据存储知识讲解_第4页
第4页 / 共86页
第03章-数据存储知识讲解_第5页
第5页 / 共86页
点击查看更多>>
资源描述

《第03章-数据存储知识讲解》由会员分享,可在线阅读,更多相关《第03章-数据存储知识讲解(86页珍藏版)》请在金锄头文库上搜索。

1、第03章数据存储 2 本章内容安排 数据类型存储数字存储文本存储音频存储图像存储视频 4 计算机内部的数据 计算机外部不同类型的数据 都需要采用统一的数据表示法转换后存入计算机 当数据从计算机输出时再还原回来 这种通用的格式称为位模式 bitpattern 5 位 位 bit binarydigit 是存储在计算机中的最小数据单位 它是0或1 位代表设备的某一种状态 这些设备只能处于两种状态之一 如开关要么断开 用0表示 要么合上 用1表示 计算机中使用 电子开关 表示位 一个开关存储一个位的信息 计算机使用众多的两态设备来存储数据 6 位模式 单个的位并不能解决数据表示问题 为了表示数据的不

2、同类型 应该使用位模式 bitpattern 它是一个由若干个位构成的序列 有时也被称为位流 通常将长度为8的位模式称为字节 byte 7 位模式 属于不同类型的数据可以以同样的位模式存储 存储器仅关心如何将数据按位模式存储 将位模式解释为何种数据类型 则由程序负责完成 8 相关话题 数据压缩数据存储到计算机之前通常被压缩 以节省空间 数据压缩在第15章讨论 错误检测和纠正在传输和存储数据时的错误检测和纠正 9 本章内容安排 数据类型存储数字存储文本存储音频存储图像存储视频 10 存储数字的基本问题 数字要存入计算机 首先必须要转换为二进制系统 此外还需要解决如何存储数字的符号 如何现实小数点

3、 11 2 1 存储整数 整数通常使用定点表示法存储在内存中小数点是假定的 但不存储 12 整数的常见存储方法 13 1 无符号整数 无符号整数是没有符号的整数 介于0 无穷大之间 计算机不可能表示所有整数 通常 计算机都定义了一个最大无符号整数常量 无符号整数范围介于0到该常量之间 最大无符号整数 2n 1 取决于计算机中分配用于保存无符号整数的二进制位数n存储无符号整数将整数变成二进制数 将二进制对齐到指定的位数 如果二进制位数不足n位 则在二进制数左边补0 使它的总位数为n位 若超过n位 表示无法存储 导致溢出 14 无符号整数存储示例 问题将7按照无符号整数格式存储在8位存储单元中解答

4、 7 111 00000111 15 无符号整数存储示例 问题将258按照无符号整数格式存储在16位存储单元中解答 258 100000010 0000000100000010 16 译码无符号整数 将指定的位串 按照二进制转换为十进制 结果即为对应的无符号整数 17 无符号整数译码示例 问题译解内存中 00101011 对应的无符号整数解答 遵循进制转换规则 00101011 43 18 溢出 限定存储单元位数后 可以表达的无符号整数是有限的对于n位存储单元中 可表示数范围为0 2n 1若n为4 则最大可以存储15将超过15的输入存储后 会出现溢出的情况 19 溢出的结果 11 9 20 表

5、示为 10100 2溢出时丢弃存储不了的高位 4 20 无符号整数的应用 无符号整数用来存储非负数 不用存储符号 效率较高 计数寻址 引用一个存储单元的地址做为其它数据类型的基础 如文本 图像 音频和视频的基本存储单元 可看成无符号数 21 2 符号加绝对值 符号加绝对值格式对n位位模式 2n个编码 0 2n 1 划分为2个区域 分别用来表示正整数和负整数 在符号 绝对值表示法 原码 中 最左边的位用于定义数的符号 如果是0 则表示正数 如果为1 则表示负数 22 符号加绝对值的数据存储 过程将整数的绝对值转换成二进制数 若二进制位数不足n 1 左边补0 使总位数为n 1 若位数超过n 1 则

6、发生溢出 无法存储 如果是正数 则在最左边加0 使它变成n位 如果是负数 则在最左边加1 使它变成n位 23 符号加绝对值存储示例 问题将 28按照符号加绝对值格式存储在8位位模式中解答 28 11100 0011100 00011100 24 符号加绝对值存储示例 问题将 28按照符号加绝对值格式存储在8位位模式中解答 28 11100 0011100 10011100 25 符号加绝对值整数译码示例 问题译解内存中按照符号加绝对值格式存储的 01001101 对应的数值解答 最高位为0 正数提取后7位 1001101 77 26 符号加绝对值整数译码示例 问题译解内存中按照符号加绝对值格式

7、存储的 10100001 对应的数值解答 最高位为1 负数提取后7位 0100001 33 33 27 符号加绝对值表示的溢出 在符号加绝对值表示法 原码 中0有两种表示方法 正数零和负数零以8位存储单元为例 0 00000000 0 10000000 28 符号加绝对值整数的应用 现代计算机不使用原码存储整数 进行加 减运算不方便 0的表示不唯一 特殊应用 进制转换简单 应用于不涉及数字运算的场合 如采样模拟信号 29 3 二进制补码 二进制补码格式几乎所有的计算机都使用二进制补码存储有符号整数 对n位位模式 2n个编码 0 2n 1 划分为2个区域 分别用来表示非负正整数和负整数 在二进制

8、补码格式表示法中 表示正数 使用无符号整数 表示负数 使用整数的补码格式 30 两种运算 反码运算翻转操作数 整数 的各个位补码运算将被操作数的二进制位中右侧连续的0及首次出现的1保持不变 其余位取反 31 两种运算 对二进制整数执行2次反码运算 将得到原数 32 两种运算 对二进制整数执行2次补码运算 将得到原数 补码运算可以通过反码运算后再加1得到 33 二进制补码的数据存储 过程将整数的绝对值转换为二进制 将二进制对齐到n位 不足n位的左侧补0 超过n位的表示存储不了 会产生溢出 如果是正数或零 原样存储 若果是负数 取其补码存储 通过补码运算得到 34 二进制补码存储示例 问题将 28

9、按照二进制补码格式存储在8位位模式中解答 28 11100 00011100 35 二进制补码存储示例 问题将 28按照二进制补码格式存储在8位位模式中解答 28 11100 00011100 11100100 36 译码二进制补码 过程如果最左位为1 取其补码 最左位为0 保持不变 将二进制转换为十进制数 如果最左位为1 为其添加负号 最左位为0 保持不变 37 二进制补码整数译码示例 问题译解内存中按照二进制补码格式存储的 00001101 对应的数值解答 38 二进制补码整数译码示例 问题译解内存中按照二进制补码格式存储的 11100110 对应的数值解答 39 二进制补码表示的溢出 补

10、码中0只有一种表示方法 以8位位模式为例 0 00000000 0 00000000 40 二进制补码的应用 二进制补码是当今计算机存储带符号整数的标准表示方法 补码使得二进制运算更简单 具体内容在第四章介绍 41 4 3种系统的比较 42 2 2 存储实数 实数带有整数部分和小数部分带有很大整数部分或很小小数部分的实数不应该使用定点表示法实数通常使用浮点表示法表示 允许小数点浮动 若用16位定点小数存储实数 小数点右侧2个数码 小数点左侧14个数码 存储1 00234时 会损失精度实际存储为1 00 43 1 浮点表示法 浮点表示法浮点数由符号 位移量 定点数构成采用科学计数法表示浮点数 4

11、4 十进制数的科学记数法 用科学记数法表示下面的十进制数解答 7 452 000 000 000 000 000 000 00 45 十进制数的科学记数法 用科学记数法表示下面的十进制数解答 0 0000000000000232 使用科学记数法 可以表示绝对值很大或很小的数 46 二进制数的浮点格式表示 用科学记数法表示下面的十进制数解答 101001000000000000000000000000000 00 2 47 二进制数的浮点格式表示 用科学记数法表示下面的十进制数解答 0 00000000000000000000000101 2 48 2 规范化 为了统一数据表示 需要对实数的表示

12、进行规范化科学记数法 十进制 和浮点表示法 二进制 通过移动小数点 调整位移量 在小数点左边保留唯一的非零数码十进制 1 9二进制 1 49 3 符号 指数和尾数 二进制浮点数规范化后 只存储3个部分符号 1个二进制位 0或1 指数 定义小数点移动的位数 采用余码表示法 定义了数的量级尾数 小数点右边的二进制数 定义了数的精度 小数点和定点部分小数点左侧的1没有存储 是隐含的 尾数加符号位 可看成符号加绝对值的整数表示 50 4 余码系统 二进制浮点数系统中 采用余码系统存储指数部分尾数作为无符号数存储 指数有正有负 余码系统中 为了采用无符号数存储指数部分 将一个正整数 偏移量 加到每个指数

13、上 统一到非负偏移量通常为 2m 1 1 m为指数位数 51 5 IEEE标准 两种浮点数标准单精度浮点数 32位存储浮点数 指数占8位 采用余127码 偏移量为127 双精度浮点数 64位存储浮点数 指数占11位 采用余1023码 偏移量为1023 52 6 IEEE标准浮点数存储 过程在S中存储符号位将绝对值转换为二进制规范化二进制数找到E 指数 和M 尾数 尾数不足的右侧补零连接S E M 53 标准浮点数存储 按余码127 单精度浮点数 存储5 75解答 为正数 S 0十进制转二进制 5 75 101 11 2规范化 101 11 2 22E 2 127 129 10000001 2M

14、 1011 54 标准浮点数存储 按余码127 单精度浮点数 存储 161 875解答 为负数 S 1十进制转二进制 10100001 111 2规范化 1 0100001111 2 27E 7 127 134 10000110 2M 100001111 55 7 译码标准浮点数 过程找出S 符号 E 指数 M 尾数 如果S为0 表示正数 否则表示负数计算位移量 E 偏移量 对尾数取规范化计算十进制数值添加符号 56 译码标准浮点数示例 按余码127 单精度浮点数 译码内存中的 11001010000000000111000100001111 2解答 S为1 为负数位移量 E 127 148

15、127 21 1 00000000111000100001111 2 221去规范化 1000000001110001000011 11 2 2 104 378 75 2 104 378 75 57 8 浮点数的溢出 浮点数表示法不能存储绝对值很大或很小的数下溢 试图存储绝对值很小的数导致下溢上溢 试图存储绝对值很大的数导致上溢 58 9 存储零 理论上讲 标准浮点数无法存储实数0 0特殊处理 为了解决这个特例 约定在这种情况下 S E M的值均为0 59 10 截断误差 使用浮点数存储实数时 可能会存在误差如使用余码127存储 111111111111111 1111111111111 2规

16、范化后得到 1 111111111111111111111111111 2意味着尾数有27个1 需要被截断为23个1 从而造成了存储误差 称为截断误差 在高精度应用领域 需要更多位数存储要求更高的浮点数 60 本章内容安排 数据类型存储数字存储文本存储音频存储图像存储视频 61 存储文本 任何语言中 文本都是由一系列符号构成 如英文由26个字母 大写和小写 数字符号 标点符号等构成 表示文本时 需要使用位模式表示构成文本的每一个符号 62 存储文本的位模式长度 这取决于该语言集中到底有多少个不同的符号 某种语言中的符号越多 则需要更长的位模式 在一种语言中 到底需要多少位的位模式来表示一个符号 63 符号数量与位模式长度关系 64 代码 不同的位模式构成的集合被设计用于表示文本符号 每个集合被称为代码 code 表示符号的过程被称为编码 coding 常用的代码有ASCII码Unicode其它编码 65 ASCII码 美国信息交换码 使用7位位模式表示英文中的符号 可以表示128种不同符号 编码范围从0000000到1111111 31种控制字符 不可打印的字符 数字字符 0to9 编

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号