编码与运算基础.ppt_第1页
编码与运算基础.ppt_第2页
编码与运算基础.ppt_第3页
编码与运算基础.ppt_第4页
编码与运算基础.ppt_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章编码与运算基础 学习目的 掌握二进制编码的方法 运算规则及在计算机中的实现方法 了解冗余码的编码原理 主要内容 基于二进制的各种数据的编码 数值运算规则 基本逻辑电路 用于检错和纠错的冗余码的编码原理 预备知识 22 424 1628 256210 1024220 10485761K 210 1024 Kilo 1M 1024K 220 Mega 1G 1024M 230 Giga 1个二进制位 bit 比特 8个二进制位 Byte 字节 1Byte 8bit2个字节 Word 字 1Word 2Byte 16bit 为什么用二进制 2 1计算机中的数制及其转换通常 计算机中的数据分为两类 1 数 用来直接表示量的多少 有大小之分 能够进行加减等运算 2 码 通常指代码或编码 在计算机中用来描述某种信息 2 1 1数制的基本概念1 数的表示任何一种数制表示的数都可以写成按位权展开的多项式之和 N dn 1bn 1 dn 2bn 2 dn 3bn 3 d mb m式中 n 整数的总位数 m 小数的总位数 d下标 表示该位的数码 b 表示进位制的基数 b上标 表示该位的位权 2 计算机中常用的进位计数制计数制基数数码进位关系二进制20 1逢二进一八进制80 1 2 3 4 5 6 7逢八进一十进制100 1 2 3 4 5 6 7 8 9逢十进一十六进制160 1 2 3 4 5 6 7 8 9A B C D E F逢十六进一3 计数制的书写规则 1 在数字后面加写相应的英文字母作为标识 如 二进制数的100可写成100B十六进制数100可写成100H 2 在括号外面加数字下标 如 1011 2表示二进制数的1011 2DF2 16表示十六进制数的2DF2 2 1 2数制之间的转换 1 十进制整数转换为二进制整数采用基数2连续去除该十进制整数 直至商等于 0 为止 然后逆序排列余数 2 十进制小数转化为二进制小数连续用基数2去乘以该十进制小数 直至乘积的小数部分等于 0 然后顺序排列每次乘积的整数部分 3 十进制整数转换为八进制整数或十六进制整数采用基数8或基数16连续去除该十进制整数 直至商等于 0 为止 然后逆序排列所得到的余数 4 十进制小数转换为八进制小数或十六进制小数连续用基数8或基数16去乘以该十进制小数 直至乘积的小数部分等于 0 然后顺序排列每次乘积的整数部分 5 二 八 十六进制数转换为十进制数用其各位所对应的系数 按 位权展开求和 的方法就可以得到 其基数分别为2 8 16 6 二进制数转换为八进制数从小数点开始分别向左或向右 将每3位二进制数分成1组 不足3位数的补0 然后将每组用1位八进制数表示即可 7 八进制数转换为二进制数将每位八进制数用3位二进制数表示即可 8 二进制数转换为十六进制数从小数点开始分别向左或向右 将每4位二进制数分成1组 不足4位的补0 然后将每组用一位十六进制数表示即可 9 十六进制数转换为二进制数将每位十六进制数用4位二进制数表示即可 例2 1 将十进制整数 105 10转换为二进制整数 采用 除2倒取余 的方法 过程如下 2 1052 52余数为12 26余数为02 13余数为02 6余数为12 3余数为02 1余数为10余数为1所以 105 10 1101001 2 例2 2 将十进制小数 0 8125 10转换为二进制小数 采用 乘2顺取整 的方法 过程如下 0 8125 2 1 625取整数位10 625 2 1 25取整数位10 25 2 0 5取整数位00 5 2 1 0取整数位1所以 0 8125 10 0 1101 2如果出现乘积的小数部分一直不为 0 则可以根据精度的要求截取一定的位数即可 例2 3 将十进制整数 2347 10转换为十六进制整数 采用 除16倒取余 的方法 过程如下 16 234716 146余数为11 十六进制数为B 16 9余数为20余数为9所以 2347 10 92B 16 3 补码正数的补码与其原码相同 负数的补码为其反码在最低位加1 例2 15 1 X 1011011 求其原码 补码 有 X 原码 01011011 X 补码 01011011 2 Y 1011011 求其原码 补码 有 Y 原码 11011011 Y 反码 10100100 Y 补码 10100101补码表示的整数范围是 2n 1 2n 1 1 n为机器字长 则 8位二进制补码表示的整数范围是 128 12716位二进制补码表示的整数范围是 32768 32767当运算结果超出这个范围时 就不能正确表示数了 此时称为溢出 2 2计算机中数值数据的表示 2 2 1基本概念在计算机内部表示二进制数的方法称为数值编码 把一个数及其符号在机器中的表示加以数值化 称为机器数 机器数所代表的数称为数的真值 表示一个机器数 应考虑以下三个因素 1 机器数的范围字长为8位 无符号整数的最大值是 11111111 B 255 D 此时机器数的范围是0 255 字长为16位 无符号整数的最大值是 1111111111111111 B FFFF H 65535 D此时机器数的范围是0 65535 2 机器数的符号在算术运算中 数据是有正有负的 将这类数据称为带符号数 为了在计算机中正确地表示带符号数 通常规定每个字长的最高位为符号位 并用0表示正数 用1表示负数 3 机器数中小数点的位置在机器中 小数点的位置通常有两种约定 一种规定小数点的位置固定不变 这时的机器数称为 定点数 另一种规定小数点的位置可以浮动 这时的机器数称为 浮点数 2 2 2计算机中的数1 原码正数的符号位为0 负数的符号位为1 其它位按照一般的方法来表示数的绝对值 用这样的表示方法得到的就是数的原码 例2 13 当机器字长为8位二进制数时 X 1011011 X 原码 01011011Y 1011011 Y 原码 11011011 1 原码 00000001 1 原码 10000001 127 原码 01111111 127 原码 11111111原码表示的整数范围是 2n 1 1 2n 1 1 其中n为机器字长 则 8位二进制原码表示的整数范围是 127 12716位二进制原码表示的整数范围是 32767 32767 2 反码对于一个带符号的数来说 正数的反码与其原码相同 负数的反码为其原码除符号位以外的各位按位取反 例2 14 当机器字长为8位二进制数时 X 1011011 X 原码 01011011 X 反码 01011011Y 1011011 Y 原码 11011011 Y 反码 10100100 1 反码 00000001 1 反码 11111110 127 反码 01111111 127 反码 10000000负数的反码与负数的原码有很大的区别 反码通常用作求补码过程中的中间形式 反码表示的整数范围与原码相同 3 补码正数的补码与其原码相同 负数的补码为其反码在最低位加1 例2 15 1 X 1011011 2 Y 1011011 1 根据定义有 X 原码 01011011 X 补码 01011011 2 根据定义有 Y 原码 11011011 Y 反码 10100100 Y 补码 10100101补码表示的整数范围是 2n 1 2n 1 1 其中n为机器字长 则 8位二进制补码表示的整数范围是 128 12716位二进制补码表示的整数范围是 32768 32767当运算结果超出这个范围时 就不能正确表示数了 此时称为溢出 4 补码与真值之间的转换 正数补码的真值等于补码的本身 负数补码转换为其真值时 将负数补码按位求反 末位加1 即可得到该负数补码对应的真值的绝对值 例2 16 X 补码 01011001B X 补码 11011001B 分别求其真值X 1 X 补码代表的数是正数 其真值 X 1011001B 1 26 1 24 1 23 1 20 64 16 8 1 89 D 2 X 补码代表的数是负数 则真值 X 1011001 求反 1 B 0100110 1 B 0100111 B 1 25 1 22 1 21 1 20 32 4 2 1 39 D 2 2 3定点数和浮点数表示 1 定点数由于定点位置不同 一般又分为两种情况 对于整数 小数点约定在最低位的右边 称为定点整数 对于纯小数 小数点约定在符号位之后 称为定点小数 2 浮点数如果要处理的数既有整数部分 又有小数部分 则采用定点数会遇到麻烦 为此可以采用浮点数 即小数点的位置不固定 进位与溢出的概念 两数相加 结果超过定点数字位能够表示的无符号数范围 最高位产生进位 称为进位 两数相加 结果超过定点数字位能够表示的有符号数范围 与进位无关 称为溢出 计算机中减法出现借位时等同于进位 进位与溢出的例子 42H 55H 97HC 0 O 1 42H 55H 42H 55H 42H 0ABH 0EDH 13HC 0 O 0 42H 55H 42H 55H 0BEH 55H 113HC 1 O 0 42H 55H 42H 55H 0BEH 0ABH 169HC 1 O 1 2 3字符编码2 3 1美国信息交换标准代码 ASCII码 ASCII AmericanStandardCodeforInformationInterchange 码是美国信息交换标准代码的简称 用于给西文字符编码 包括英文字母的大小写 数字 专用字符 控制字符等 这种编码由7位二进制数组合而成 可以表示128种字符 在ASCII码中 按其作用可分为 34个控制字符 10个阿拉伯数字52个英文大小写字母 32个专用符号 2 3 2二 十进制编码 BCD码 BCD Binary CodedDecimal 码又称为 二 十进制编码 专门解决用二进制数表示十进数的问题 最常用的是8421编码 其方法是用4位二进制数表示1位十进制数 自左至右每一位对应的位权是8 4 2 1 1 压缩BCD码每一位数采用4位二进制数来表示 即一个字节表示2位十进制数 例如 二进制数10001001B 采用压缩BCD码表示为十进制数89D 2 非压缩BCD码每一位数采用8位二进制数来表示 即一个字节表示1位十进制数 而且只用每个字节的低4位来表示0 9 高4位为0 例如 十进制数89D 采用非压缩BCD码表示为二进制数是 0000100000001001B 2 4汉字编码2 4 1基本概念计算机处理汉字信息的前提条件是对每个汉字进行编码 这些编码统称为汉字代码 在汉字信息处理系统中 对于不同部位 存在着多种不同的编码方式 比如 从键盘输入汉字使用的汉字代码 外码 就与计算机内部对汉字信息进行存储 传送 加工所使用的代码 内码 不同 但它们都是为系统各相关部分标识汉字使用的 系统工作时 汉字信息在系统的各部分之间传送 它到达某个部分就要用该部分所规定的汉字代码表示汉字 因此 汉字信息在系统内传送的过程就是汉字代码转换的过程 这些代码构成该系统的代码体系 汉字代码的转换和处理是由相应的程序来完成的 1 汉字输入码汉字输入码是为用户由计算机外部输入汉字而编制的汉字编码 又称为汉字外部码 简称外码 使用较多的有以下4类 1 顺序码 如区位码 电报码等 2 音码 如拼音码 自然码等 3 形码 如五笔字型 大众码等 4 音形码 如双拼码 五十字元等 2 汉字机内码汉字机内码是汉字处理系统内部存储 处理汉字而使用的编码 简称内码 3 汉字字形码汉字字形码是表示汉字字形信息的编码 4 汉字交换码汉字交换码是汉字信息处理系统之间或通信系统之间传输信息时 对每个汉字所规定的统一编码 2 4 2汉字代码的表示方法 2 4 3几种常用的汉字编码 1 国标码即 中华人民共和国国家标准信息交换汉字编码 代号GB2312 80 共收录汉字和图形符号7445个 其中 一级常用汉字3755个 二级非常用汉字和偏旁部首3008个 图形符号682个 2 区位码将GB2312 80全部字符集组成一个94 94的方阵 每一行称为一个 区 编号从01 94 每一列称为一个 位 编号也是从01 94 这样 每一个字符便具有一个区码和一个位码 将区码置前 位码置后 组合在一起就成为区位码 3 BIG 5码BIG 5码是我国台湾地区编制和使用的一套中文内码 它是为了解决各生产厂家中文内码不统一的问题而设计出的一套编码 并采用5大套装软件的 五大 命名为 BIG 5 码 俗称 大五码 4 GB13000码国际标准化组织 ISO 于1993年公布了 通用多八位编码字符集 的国际标准 ISO IEC10646 我国发布了与其一致的国家标准 即GB13000码 2 5运算逻辑基础存储单元的寻址与编码

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论