计算机数据的表示方法.ppt_第1页
计算机数据的表示方法.ppt_第2页
计算机数据的表示方法.ppt_第3页
计算机数据的表示方法.ppt_第4页
计算机数据的表示方法.ppt_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

数值数据的表示法 进位计数制及其转换一 进位计数制 用少量的数字符号 也称数码 按先后次序把它们排成数位 由低到高进行计数 计满进位 这样的方法称为进位计数制基数 进位制的基本特征数 即所用到的数字符号个数 例如10进制 0 9十个数码表示 基数为10 权 进位制中每位 1 所表示的值为该位的权 常见的进位制 2 8 10 16进制 第二章计算机中数据的表示方法 1 十进制 Decimal 数码为 0 9 基数是10 Decimal 十进制运算规律 逢十进一 即 9 1 10 十进制数的权展开式 103 102 101 100称为十进制的权 各数位的权是10的幂 同样的数码在不同的数位上代表的数值不同 任意一个十进制数都可以表示为各个数位上的数码与其对应的权的乘积之和 称权展开式 即 5555 D 5 103 5 102 5 101 5 100 又如 209 04 10 2 102 0 101 9 100 0 10 1 4 10 2 例如 一个十进制数123 45的表示 123 45 1 102 2 101 3 100 4 10 1 5 10 2注 等式左边为并列表示法等式右边为多项式表示法 2 二进制 Binary 数码为 0 1 基数是2 Binary 二进制运算规律 逢二进一 即 1 1 10 二进制数的权展开式 如 101 01 B 1 22 0 21 1 20 0 2 1 1 2 2 5 25 10 加法规则 0 0 0 0 1 1 1 0 1 1 1 10乘法规则 0 0 0 0 1 0 1 0 0 1 1 1 运算规则 各数位的权是 的幂 二进制数只有0和1两个数码 它的每一位都可以用电子元件来实现 且运算规则简单 相应的运算电路也容易实现 例如 一个二进制数 1101 01 2的表示 1101 01 2 1 23 1 22 0 21 1 20 0 2 1 1 2 2 13 25 10 3 二进制数的性质 移位性质 小数点左移一位 数值减小一半小数点右移一位 数值扩大一倍奇偶性质 最低位为0 偶数最低位为1 奇数 4 二进制数的特点 优点 只有0 1两个数码 易于用物理器件表示 电位的高低 脉冲的有无 电路通断等都比较容易区别 可靠性高运算规则简单二进制的0 1与逻辑命题中的真假相对应 为计算机中实现逻辑运算和逻辑判断提供有利条件 缺点 书写冗长 不易识别 不易发现错误 5 十六进制 Hexadecimal 数码为 0 9 A F 基数是16 Hexadecimal 十六进制运算规律 逢十六进一 即 F 1 10 十六进制数的权展开式 如 D8 A H 13 161 8 160 10 16 1 216 625 10 各数位的权是16的幂 例如十六进制数 2C7 1F 16的表示 2C7 1F 16 2 162 12 161 7 160 1 16 1 15 16 2 6 八进制 数码为 0 7 基数是8 O 八进制运算规律 逢八进一 即 7 1 10 八进制数的权展开式 如 207 04 8 2 82 0 81 7 80 0 8 1 4 8 2 135 0625 10 各数位的权是8的幂 进位计数制之间的转换 1 R进制转换成十进制的方法按权展开法 先写成多项式 然后计算十进制结果 N dn 1dn 2 d1d0d 1d 2 d m dn 1 Rn 1 dn 2 Rn 2 d1 R1 d0 R0 d 1 R 1 d 2 R 2 d m R m 例如 写出 1101 01 2 237 8 10D 16的十进制数 1101 01 2 1 23 1 22 0 21 1 20 0 2 1 1 2 2 8 4 1 0 25 13 25 237 8 2 82 3 81 7 80 128 24 7 159 10D 16 1 162 13 160 256 13 269 2 十进制转换成二进制方法 一般分为两个步骤 整数部分的转换除2取余法 基数除法 减权定位法小数部分的转换乘2取整法 基数乘法 除基取余法 把给定的十进制整数除以基数 取余数作为最低位的系数 然后继续将商部分除以基数 余数作为次低位系数 重复操作直至商为0 25 D 11001 B 减权定位法 将十进制数依次从二进制的最高位权值进行比较 若够减则对应位置1 减去该权值后再往下比较 若不够减则对应位为0 重复操作直至差数为0 例如 将 327 10转换成二进制数256 327 512327 256 71171 128071 64 717 3207 1607 807 4 313 2 111 1 01 327 10 101000111 2 乘基取整法 小数部分的转换 把给定的十进制小数乘以2 取其整数作为二进制小数的第一位 然后取小数部分继续乘以2 将所的整数部分作为第二位小数 重复操作直至得到所需要的二进制小数 例如 将 0 8125 10转换成二进制小数 整数部分2 0 8125 1 62512 0 625 1 2512 0 25 0 502 0 5 11 0 8125 10 0 1101 2 十进制小数不一定都能用有限位二进制小数精确表示 例如 将 0 2 10转换成二进制小数整数部分0 2 2 0 400 4 2 0 800 8 2 1 610 6 2 1 210 2 2 0 400 4 2 0 800 8 2 1 610 6 2 1 21 0 2 10 0 001100110011 2 3 其它进制之间的直接转换法 a 二进制数与八进制数的相互转换 1101010 01 00 0 152 2 8 2 八进制数转换为二进制数 将每位八进制数用3位二进制数表示 011111100 010110 374 26 8 1 二进制数转换为八进制数 将二进制数由小数点开始 整数部分向左 小数部分向右 每3位分成一组 不够3位补零 则每组二进制数便是一位八进制数 二进制转换成八进制 例 10110111 01101 2 10110111 01101 2 267 32 8 八进制 267 32 二进制 010 110 111 011 010 二进制 10 110 111 011 01 八进制转换二进制 例如 123 46 8 001 010 011 100 110 2 1010011 10011 2 b 二进制数与十六进制数的相互转换 111010100 011 000 0 1D4 6 16 101011110100 01110110 AF4 76 16 二进制数与十六进制数的相互转换 按照每4位二进制数对应于一位十六进制数进行转换 二进制转换成十六进制 例 110110111 01101 2 10110111 01101 2 1B7 68 16 十六进制 1B7 68 二进制 0001 1011 0111 0110 1000 二进制 1 1011 0111 0110 1 十六进制转换成二进制 例如 7AC DE 16 0111 1010 1100 1101 1110 2 11110101100 1101111 2 数值范围 一种数据类型所能表示的最大值和最小值 数据精度 实数所能表示的有效数字位数 数值范围和数据精度均与使用多少位二进制位数以及编码方式有关 计算机用数字表示正负 隐含规定小数点 采用 定点 浮点 两种表示形式 数的编码与表示 1 真值和机器数真值 正 负号加某进制数绝对值的形式 如二进制真值 X 1011y 1011机器数 在机器中使用的连同符号一起数码化表示的二进制数的形式 最高位是符号位 通常用 0 表示正号 用 1 表示负号 如 X 01011y 110112 常用的几种码制表示法原码 反码 补码 移码 1 原码表示法 原码表示法用 0 表示正号 用 1 表示负号 有效值部分用二进制的绝对值表示 注 以下X X0X1X2 Xn 字长的有效位数为n 1 完成下列数的真值到原码的转换 X1 0 1011011X2 0 1011011 X1 原 0 1011011 X2 原 1 1011011 完成下列数的真值到原码的转换 X1 1011011X2 1011011 X1 原 01011011 X2 原 11011011 原码整数中 0 原 00000000 0 原 10000000表示范围 2n 1 2n 1 8位字长 127 12716位字长 32767 32767 原码特点 原码小数中 0 原 0 0000000 0 原 1 0000000表示范围 1 2 n 1 2 n 表示简单 易于同真值之间进行转换 进行加减运算十分麻烦 速度慢 表示0有两种形式 8位字长 127 128 127 12816位字长 32767 32768 32767 32768 2 反码表示法 正数的表示与原码相同 负数的反码符号位为1 数值位是将原码的数值按位取反 小数 X1 0 1011011 X1 反 0 1011011X2 0 1011011 X2 反 1 0100100 整数 X3 1011011 X3 反 01011011X4 1011011 X4 反 10100100 0 反 00000000 0 反 11111111 反码特点 0也有两种形式反码表示正数时 与原码和补码的形式完全相同 表示负数时 其码值比补码小 1 反码也同样适用于加减法运算 在加减法运算时 如产生模的溢出时 在最低位补 1 3 补码表示法 正数的补码与原码相同 负数的补码是将负数的反码末位加1 模 计量的范围 或称为模数 超出模数即溢出被丢掉 N位字长的整数 包括1位符号位 模值为2NN位字长的纯小数 包括1位符号位 的模值为2例 4位字长的机器表示的二进制整数为 0000 1111共16种状态 模为16 24 完成下列数的真值到补码的转换 X1 0 1011011X2 0 1011011 X1 补 0 1011011 X2 补 1 0100101 整数 完成下列数的真值到补码的转换 X1 01011011X2 01011011 X1 补 01011011 X2 补 10100101 补码的表示范围 N位字长纯整数 2N 1 2N 1 1当字长N 8时 1 补 11111111 0 补 00000000 0 补 00000000 128 补 28 128 100000000B 10000000B 10000000BN位字长纯小数 1 1 2 N 1 当字长N 8时 1 补 1 0000000 原码与补码之间的转换 原码求补码正数 X 补 X 原负数符号位不变 各位取反 末位加1 例 X 01001001 X 原 11001001 X 补 10110110 1 10110111 X 补 28 X 100000000 1001001 10110111100000000 100100110110111 由 X 补求 X 补 求机器负数 方法 连同符号一起将各位取反 末位再加1 设字长N 8位例 X 1001001 X 补 01001001 X 补 10110111 补码的的优点 可以将减法运算转换成加法运算 简化了运算规则 补码的性质 最高位是符号位 0 为正号 1 为负号 0有唯一编码 0 补 0 补 00000000 X Y 补 X 补 Y 补 X Y 补 X 补 Y 补算术右移 X 2 补 X0X0X1X2 Xn X 补与其真值X 纯小数 的关系 i 设 X 补 X0X1X2 Xn则 X 补 2 X0 XX X 补 2 X0 X0X1X2 Xn 2 X0 X0 0 X1X2 Xn X0 补码特点 是一种以模数为概念而引入的机器码 因此模数取不同值 负数的补码值也会随之改变 补码形式将负数化为正数形式 将减法化为加法运算 特别适合于加减法运算 负数补码可以通过对原码数码位 除符号位 取反加 1 最低位权值 求得 补码的模数比反码的模数大 1 4 移码 增码 表示法 X 移 2n X2n 1 X 2n X1 01010101 X1 补 01010101 X1 移 11010101X2 01010101 X2 补 10101011 X2 移 00101011 5 无符号数的表示 在数据处理的过程中 如不需要设置符号位可用全部字长来表示数值大小 字长N 8时 取值范围是0 255 28 N 16时 取值范围是0 65535 216 码制表示法小结 X 原 X 反 X 补用 0 表示正号 用 1 表示负号 X 移用 1 表示正号 用 0 表示负号 如果X为正数 则 X 原 X 反 X 补 如果X为0 则 X 补有唯一编码 X 原 X 反 X 移有两种编码 移码与补码的形式相同 只是符号位相反 一个代码 赋予不同类型 其数值不一样 而类型要由人编程指定 例 计算机内一个8位二进制数10000001B无符号二进制数 129 有符号整数 原码 1 反码 126 补码 127有符号小数 原码 0 0000001B 1 128反码 126 128 补码 127 128 数值数据的定点 浮点表示法1 定点表示法约定机器中所有数据的小数点位置固定不变 用定点表示法表示的数称为定点数 1 定点小数 纯小数 小数点在数值最高有效位之前 符号位之后 X X0 X1X2 Xn 符号位 尾数 范围 2 n X 1 2 n 2 定点整数 小数点固定在数的最低位之后 X X0X1X2 Xn 范围 1 X 2n 1 2 浮点表示法把字长分成阶码和尾数两部分 N RE SR 基数 E 阶码 S 尾数 用浮点表示法表示的数称为浮点数 格式通常为 阶符 尾符 阶码值 尾数值 通常 阶码为补码或移码定点整数 尾数为补码或原码定点小数 3 浮点数的范围设浮点数共n位 其中尾数n1位 阶码n2位 用原码表示时阶码 表示范围 尾数 表示范围 浮点数最大值 最小值 绝对值最小值 4 规格化和溢出处理 规格化规定尾数最高数据位不为0 为有效数据 对于用原码表示的尾数 要求尾数最高位为1对于用补码表示的尾数 要求数据最高位与尾数符号不同 溢出处理 一个数的大小超出了表示范围 尾数溢出 上 正 溢 下 负 溢 右规处理阶码溢出 上溢 需停机进行出错处理下溢 数据按零处理5 浮点数的四种机器码形式 设X 2 3 0 10101 阶移尾补 6 数的定点表示与浮点表示的比较浮点表示比较定点表示的数的范围大 如用同样位数 16位定点表示 0 00 01 0 11 11其绝对值变化范围为2 15 1 2 15 1浮点表示 阶码为四位 尾数为十二位 各含一位符号 其绝对值范围为2 7 2 11 27 1 2 11 所以前者 范围为 2 15 1后者范围为 2 18 27当然为了提高浮点数的精度 必须采用比定点数长的位数 以增加尾数的长度 浮点数的表示及处理较为复杂 浮点数要包含二个部分阶码及尾数 可以采用不同编码制 浮点数要规格化及溢出处理都比定点数复杂 浮点数运算过程也比定点数复杂 加减法时 要先对阶 使小数点位置对齐 然后再运算 运算完毕要规格化及溢出处理 乘除法 要阶码进行加减法 尾数相乘 除 运算完毕再要规格化及溢出处理 字符的编码 ASCII AmericanStandardCodeforInformationInterchange 码 1 数字0 9 高3位均是011 后4位正好与其数值的二进制代码相符 2 字母 大写从1000001 41H 开始顺序递增小写从1100001 61H 开始顺序递增3 通用符号 4 动作控制符 十进制数的编码 BCD BinaryCodedDecimal 码 把1位十进制数用4位二进制数编码 1 有权码 每一位对应一个权数 权数可正可负 2 无权码 每一位编码没有权数对应 如余3码 格雷码等 BCD码有 8421码 余3码 2421码 格雷码 8421码 最基本的BCD码或称自然码二 十进制码 NBCD码 一般不特别指明 就是指8421码 1 8421码用四位二进制数的0 9 0000 1001 表示是十进制数0 9 而对10 15 1010 1111 作为非法码 冗余代码 因为NBCD码 各位权值为8 4 2 1而得此码名称 2 它与二进制数0 9完全相同 所以将NBCD码转换为二进制数很方便 3 因此8421码的加减运算可以参照二进制数运算方法 进行修正 所以运算也较方便 4 8421码具有奇偶性 即最低位为0 则是偶数 为 1 则是奇数 汉字的编码 1 国标码 每个字符编码为2个字节 每个字节占用7位最高位补0第一个字节表示区号 第二个字节表示位号 共分94个区号 每区94个位码 区号和位码的编码从 21 H开始 7E H结束国标码1区 区码21 至9区 区码29 是数字 外文字母 英文 俄文 日语 拉丁 希腊 汉语拼音等 图形字符 一般符号等 16区 区码30 至55区 区码57 为一级汉字56区 区码58 至84区 区码77 为二级汉字2 汉字内码采用把国标码二个字节的最高位由0置1最高位的 1 成为汉字码的标识符 最高位为 0 是7位ASCII码 为 1 则是汉字内码 数据校验码 校验码 在基本的有效数据外 再扩充部分位 增加部分 冗余部分 被称为校验位 将校验位与数据位一起按某种规则编码 一 奇偶校验码在每组数据信息上附加一个奇 或偶 校验位 组成的新数据称为奇 或偶 校验编码 校验位的取值 0或1 取决于这组信息中 1 的个数和校验方式 奇或偶校验 奇校验 校验编码中 1 的个数为奇数 偶校验 校验编码中 1 的个数为偶数 例如 8位信息10101011 附加校验位后变为9位若用奇校验 则奇校验编码应为101010110 若用偶校验 则偶校验编码应为101010111 奇偶校验的特点 1 可检验出数据传送过程中奇数个数位出错的情况 2 简便 可靠易行 但不能自动纠正错误 二 循环冗余校验码 CRC码 通过某种数学公式建立信息位和校验位之间的约定关系 能够校验传送信息的对错 并且能自动修正错误 广泛用于通信和磁介存储器中 CRC编码格式是在k位信息后加r位检验码 校验位 r位 信息位 k位 NN 121 1 CRC码的编码方法 假设被传送的k位二进制信息位用C x 表示 系统选定的生成多项式用G X 表示 将C x 左移G X 的最高次幂 即等于需要添加的校验位的位数r 写作C x 2r 然后将C x 2r除以生成多项式G x 所得商用Q x 表示 余数用R x 表示 则 两边同时乘以G x 并左移R x 得到 故有 即为所求的n位CRC码 余数R x 就是校验位 r位 等式两边都是G x 的倍数 发送信息时将等式左边生成的n位CRC码送给对方 当接收方接到n位编码后 同样除以G x 如果传输正确则余数为0 否则则可以根据余数的数值确定是哪位数据出错 CRC编码采用的加 减法是按位加减法 运算规则为 0 0 0 0 1 1 1 0 1 1 1 0 2 求CRC码的步骤 分三步 1 在C X 的尾部加r个 0 即C x 2r 2 求C x 2r G x 做模2运算的余数R x 3 把余数加到C x 2r上 例 被传输的信息C x 1101011011 生成多项式G X X4 X 1 10011 求C x 的CRC码 解 r 5 1 4位 1 C x 2r 11010110110000 2 11010110110000 10011余数 R x 1110 3 把R x 加到C x 2r上得 CRC码为 11010110111110 非数值数据的表示法 西文信息在机内的表示ASCII码 AmericanSt

温馨提示

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

评论

0/150

提交评论