《微机计算基础》PPT课件.ppt

上传人:tia****nde 文档编号:7201766 上传时间:2020-03-15 格式:PPT 页数:45 大小:1.12MB
返回 下载 相关 举报
《微机计算基础》PPT课件.ppt_第1页
第1页 / 共45页
《微机计算基础》PPT课件.ppt_第2页
第2页 / 共45页
《微机计算基础》PPT课件.ppt_第3页
第3页 / 共45页
点击查看更多>>
资源描述
1 计算机原理与接口技术 北京理工大学光电学院2013 9 2 微机系统导论 2 1进位计数制2 2进位数制之间的转换2 3二进制编码 代码 2 4二进制数的运算2 5数的定点与浮点表示2 6带符号数的表示法 3 2 1进位计数制 所谓进位计数制是指按进位的方法来进行计数 简称进位制 在进位计数制中 常常要用 基数 或称底数 来区别不同的数制 而某进位制的基数就是表示该进位制所用字符或数码的个数 如十进制数共用0 9十个数码表示数的大小 故其基数为10 为区分不同的数制 可在数的下标注明基数 4 一 十进制数一个十进制数中的每一位都具有其特定的权 称为位权或简称权 就是说 对于同一个数码在不同的位它所代表的数值就不同 例如 999 99这个数可以写为 999 99 9 102 9 101 9 100 9 10 1 10 2其中 每个位权由基数的 次幂来确定 在十进制中 整数的位权是100 个位 101 十位 102 百位 等等 小数的位权是10 1 十分位 10 2 百分位 等等 上式称为按位权展开式 5 二 二进制数进位计数制中最简单的是二进制 它只包括 0 和 1 两个不同的数码 即基数为2 进位原则是 逢二进一 例 二进制数1101 11相当于十进制数的1 23 1 22 0 21 1 20 1 2 1 1 2 2 8 4 1 0 5 0 25 13 7510二进制数各位的权分别为8 4 2 1 0 5 0 25 将二进制数化为10进制数 是把二进制的每一位数字乘以该位的权然后相加得到 实际上只需要将为1的各位的权相加即可 6 三 八进制数八进位计制数也是微机中常用的一种进位制 其主要特点是 八进制的基数为8 用0 7八个不同的数码来表示数值计数时 逢八进一 即上一位 左 的权是下一位 右 的权的8倍四 十六进制数十六进位计数制是微机中最常用的一种进位制 它在数的结构上类似于八进制 易于与二进制数转换 且比八进制更能简化数据的输入和显示 十六进制的基数是16 即由16个不同的数码符号组成 除了0 9十个数字外 还用字母 D 分别表示数10 11 12 13 14 15 7 数制通常用三中书写方法 在数的右下角注明数制 如2116 4310 658 10102是在数的后面加上一些字母符号 通常十六进制用 表示 如21 十进制用D表示或不加字母符号 如43D或43 八进制用 表示 如65 二进制用 表示 如1010 在数的前面加上一些符号 如十六进制用 表示如 21 二进制用 表示 如 1010 8 2 2不同进制数之间的转换 一 二进制数转换为十进制数进制数转换为十进制数分整数转换与小数转换两部分整数部分 设N是5位的二进制整数 其表示式为 又由于二进制序列表示为 4 3 2 1 0 最高位 最低位 故将上式改为 N K4 24 K3 23 K2 22 K1 21 K0 20 4 2 3 2 2 2 1 2 0 9 二进制小数转换为十进制数 设 是一个4位的二进制小数 其表示式为 1 2 1 2 2 2 3 2 3 4 2 4将上式改写为 2 1 1 2 1 2 2 1 3 4 2 1 由于二进制位权序列表示为 1 2 3 4 小数点第1位第4位 最高位 最低位 10 用 连续除以2 的方法 就能得到它的十进制转换 其步骤为 1 从最低位 右倒第1位 开始 把最低位除以2 加上右倒第2位 令其结果为 1 2 将 1除以2 加上右倒第3位 令其结果为 2 3 将 2除以2 加上右倒第4位 令其结果为 3 4 将 3除以2 即得到所要求的结果 对既有整数又有小数的二进制数 用整数转换法则和小数转换法分别对其整数和小数部分进行转换 然后合并 如 0 1011B 0 6875D 1011 2 2 2 20 68750 3750 750 5 11 二 十进制数转换为二进制数十进制整数转换成二进制整数采用 除以2取余 方法规则为 1 将十进制数除以2 并记下余数 2 将所得的商再除以2 并记下余数 如此重复 直至商为0 3 收集所得到的余数 以第一位余数作为整数的最低有效位 0 最后得到的余数为最高有效位 n 1 中间的余数顺次收集 十进制小数转换成二进制小数采用 乘2取整 方法 例 将十进制小数0 625转换为二进制小数形式0 625D 0 1 2 m B 12 20 625 0 25 0 5 0 整数部分101 1 2 3所以转换结果为0 625D 0 101B 可得到将十进制小数转换为二进制小数的方法是不断用2去乘该十进制小数 每次所得的溢出数 即整数1或0 依次记为 1 2 若乘积的小数部分最后一次乘积能够为0 则最后一次乘积的整数部分记为 m 则有0 1 2 m 对于既有整数又有小数的十进制数 可用 除以2取余 和 乘2取整 法则分别对其整数与小数部分进行转换 然后合并 13 三 十六进制数与二进制数之间的转换二进制数转换为十六进制数也很方便 因为4位二进制数的组合恰好等于0 15D这16个数值 所以 可用1位十六进制数表示4位二进制数 1个二进制数的整数部分要转换为十六进制数时 可以从小数点开始向左按4位一组分成若干组 最高位一组不足4位时 在左边加0补足到4位 二进制数的小数部分可以从小数点开始向右按 位一组分成若干组 最后一组 最低位一组 不足4位则在右边加0补足到4位 然后将每一组的4位二进制数用相应的十六进制数表示即转换为十六进制数 14 四 十六进制数与十进制数之间的转换十进制数与十六进制数之间的转换 和十进制数与二进制数或八进制数之间的转换方法相似 其差别只是前者的基数为16 十六进制数转换为十进制数 只要将它按权展开 然后相加即可 例如 十六进制数FFFFE A3转换为十进制数的过程如下 163 162 161 160 16 1 3 16 2 6534 63671875D十进制转换为十六进制时 其方法与十进制转换为八进制和二进制的方法相同 其整数部分采用 除以16取余 法 其小数部分采用 乘16取整 法 然后以小数点为分界合并即可 15 2 3二进制编码 代码 一 二进制编码的十进制 二 十进制或BCD码 8421BCD码有10个不同的数字符号 由于它是逢 十 进位的 所以 它是十进制 同时 它的每一位是用4位二进制编码来表示的 BCD码具有二进制和十进制两种数制的某些特征 BCD码分为压缩BCD码和非压缩BCD码压缩BCD码的每一位用4位二进制表示 0000 1001表示0 9 一个字节表示两位十进制数非压缩BCD码用一个字节表示一位十进制数 高4位总是0000 低4位的0000 1001表示0 9要用BCD码表示十进制数 只要把每个十进制数用适当的二进制4位码代替即可 例如 十进制整数256用BCD码表示 则为 001001010110 BCD 16 例 将二进制数1011 01转换成相应的BCD码 首先 将二进制数转换成十进制数 1011 01B 1 23 0 22 1 21 1 20 0 2 1 1 2 2 8 0 2 1 0 0 25 11 25D然后 将十进制结果转换成BCD码11 25D 00010001 00100101 BCD 17 二 字母与字符的编码字母和各种字符在计算机内是按特定的规则用二进制编码表示的 这些编码有各种不同的方式 目前在微机 通讯设备和仪器仪表中广泛使用的是ASCII AmericanStandardCodeforInformationInterchange 码 美国标准信息交换码 7位ASCII代码能表示27 128种不同的字符 其中包括数码 0 9 英文大 小写字母 标点和控制的附加字符 7位ASCII码是由左3位一组和右4位一组组成的 左表表示这两组的安排和号码的顺序 位6是最高位 而位0是最低位 要注意这些组在表2 4的行 列中的排列情况 4位一组表示行 3位一组表示列 18 ASCII码 美国标准信息交换代码 19 数字0 9的编码是0110000 0111001 它们的高3位均是011 后4位正好与其对应的二进制代码 BCD码 相符英文字母A Z的ASCII码从1000001 41H 开始顺序递增 字母a z的ASCII码从1100001 61H 开始顺序递增 这样的排列对信息检索十分有利 ASCII码 20 汉字编码 汉字编码包括输入编码 内码和字模编码 分别用于输入 内部处理和输出 汉字的输入编码是为了使用西文标准键盘把汉字输入到计算机中 其编码方法主要有数字编码 拼音码和字形编码三类 汉字内码是用于汉字信息的存储 交换 检索等操作的机内代码 它采用两个字节的二进制形式表示一个汉字 为与英文字符区别 汉字机内代码中两个字节的最高位均规定为l例如 汉 BABA 字 D6D7 编 E0B1 码 EBC2 21 汉字字型编码是用来描述汉字字形的代码 它是汉字的输出形式 汉字库有点阵字库 TrueType字库 矢量字库等类型 汉字编码 22 2 4二进制数的运算 一 二进制数的算术运算一种数制可进行两种基本的算术运算 加法和减法 利用加法和减法可以进行乘法 除法以及其它数值运算 一 二进制加法二进制加法的运算规则是 1 0 0 0 2 0 1 1 3 1 1 0进位1 4 1 1 1 1进位1两个二进制数相加时 每1列有3个数 即相加的两个数以及低位的进位 用二进制的加法规则相加后得到本位的和以及向高位的进位 23 二 二进制减法二进制减法的运算规则是 1 0 0 0 2 1 1 0 3 1 0 1 4 0 1 1借位1例如 把11011B减去110 B借位后的被减数0101011被减数11011减数 1101差1110 借位后的被减数 现在是指产生借位以后每位被减数的值 24 三 二进制乘法乘法是将被乘数本身多次相加而相加的次数为乘数所规定的次数的一种简便方法 二进制乘法所遵循的一般原则与十进制乘法相同 但由于只有1或0两种可能的乘数位 故二进制乘法更简单 二进制乘法的运算规则是 1 0 0 0 2 0 1 0 3 1 0 0 4 1 1 1可见 只有当两个1相乘时 积才为1 否则积为0 例如 被乘数1111乘数 1101111100001111111111000011 25 四 二进制除法除法是乘法的逆运算因此 它是确定一个数 除数 可以从另一个数 被除数 中连减多少次的过程 二进制除法与十进制除法类似 不过 由于基数是二而不是十 它更简单 例如 用100011除以101 000111除数101 100011被除数101111余数101101余数1010余数 26 运用长除时 从被除数的最高位 MSB 开始检查 并定出需要超过除数值的位数 找到这个位时 商记1 并把选定的被除数值减除数 然后把被除数的下一位移到余数上 如果新余数不够减除数 则商记0 把被除数的再下一位移到余数上 若余数够减则商记1 然后将余数减去除数 并把被除数的下一个低位再移到余数上 若此余数够减除数 则商记1 并把余数减去除数 继续这一过程直到全部被除数的位都下移完为止 然后把余数 除数作为商的分数 表示在商中 27 二 二进制数的逻辑运算在微机中 以0或1两种取值表示的变量叫逻辑变量 它们不是代表数学中的 零 和 壹 的数值大小 而是代表所要研究的问题的两种状态或可能性 如电压的高或低 脉冲的有或无等 我们把逻辑变量之间的运算 称为逻辑运算 逻辑运算包括3种基本运算 逻辑加法 或运算 逻辑乘法 与运算 和逻辑否定 非运算 由这3种基本运算可以导出其它的逻辑运算 如异或运算 同或运算以及与或非运算等 一 与运算与运算通常用符号 或 或 表示 它的运算规则为 0 1 0或0 1 0或0 1 0读成0与1等于01 0 0或1 0 0或1 0 0读成1与0等于01 1 1或1 1 1或1 1 1读成1与1等于1 28 二 或运算或运算通常用符号 或 表示 它的运算规则为0 0 0或者0 0 0读成0或0等于00 1 1或者0 1 1读成0或1等于11 0 1或者1 0 1读成1或0等于11 1 1或者1 1 1读成1或1等于1在给定的逻辑变量中 只要有一个为1 或运算的结果就为1 只有都为0时 或运算的结果才为0 三 非运算非运算又称逻辑否定 它是在逻辑变量上方加一横线表示非 其运算规则为读成非0等于1读成非1等于0 29 四 异或运算异或运算通常用符号 表示 它的运算规则为00 0读成0同0异或 结果为001 1读成0同1异或 结果为110 1读成1同0异或 结果为111 0读成1同1异或 结果为0在给定的两个逻辑变量中 只要两个逻辑变量相同 则异或运算的结果就为0 当两个逻辑变量不同时 异或运算的结果才为1 注意 当两个多位逻辑变量之间进行逻辑运算时 只在对应位之间按上述规则进行运算 不同位之间不发生任何关系 没有算术运算中的进位或借位关系 30 一 定点表示通常 对于任意一个二进制数总可以表示为纯小数或纯整数与一个2的整数次幂的乘积 例如 二进制数 可写成其中 S称为数 的尾数 称为数 的阶码 2称为阶码的底 尾数S表示了数 的全部有效数字 阶码 确定了小数点位置 2P S 2 5数的定点与浮点表示 31 当阶码为固定值时 称这种方法为数的定点表示法 这种阶码为固定值的数称为定点数 如假定 0 且尾数S为纯小数时 这时定点数只能表示小数 如假定 0 且尾数S为纯整数时 这时定点数只能表示整数 定点数的两种表示法 在计算机中均有采用 究竟采用哪种方法 均是事先约定的 如用纯小数进行计算时 其运算结果要用适当的比例因子来折算成真实值 符号 尾数 S 符号 尾数S 32 二 浮点表示如果数 的阶码可以取不同的数值 称这种表示方法为数的浮点表示法 这种阶码可以浮动的数 称为浮点数 这时 2 S其中 阶码P用二进制整数表示 可为正数和负数 用一位二进制数Pf表示阶码的符号位 当 f 0时 表示阶码为正 当 f 1时 表示阶码为负 尾数S 用Sf表示尾数的符号 Sf 0表示尾数为正 Sf 1表示尾数为负 Pf Sf 阶码符号 阶码 尾数符号 尾数 计算机中表示一个浮点数 分阶码和尾数两个部分来表示 33 2 6带符号数的表示法 一 机器数与真值在计算机中 为了区别正数或负数 是将数学上的 符号数字化 规定1个字节中的D7位为符号位 D0 D6位为数字位 在符号位中 用 0 表示正 1 表示负 而数字位表示该数的数值部分 例如 01011011 91D 11011011 91D1个数的数值和符号全都数码化了 我们把1个数 包括符号位 在机器中的一组二进制数表示形式 称为 机器数 而把它所表示的值称为机器数的 真值 34 二 机器数的种类和表示方法在机器中表示带符号的数有3种表示方法 原码 反码和补码 一 原码所谓数的原码表示 即符号位用0表示正数 而用1表示负数 其余数字位表示数值本身 对于0 可以认为它是 0 也可以认为它是 0 0 原 00000000 0 原 10000000 35 二 反码正数的反码表示与其原码相同 即符号位用 0 表示正 数字位为数值本身 负数的反码是将它的正数按位 包括符号位在内 取反而形成的 0 反 00000000 4 反 00000100 31 反 00011111 127 反 01111111 符号位 数值本身 0 反 11111111 4 反 11111011 31 反 11100000 127 反 10000000 符号位 数字位 36 37 8位二进制数的反码表示如上表所示 它有如下特点 1 0 的反码有两种表示法 00000000表示 0 11111111表示 0 2 8位二进制反码能表示的数值范围为 127D 127D 3 当一个带符号数用反码表示时 最高位为符号位 若符号位为0 即正数 时 后面的7位为数值部分 若符号位为1 即负数 时 一定要注意后面7位表示的并不是此负数的数值 而必须把它们按位取反以后 才得到表示这7位的二进制数值 例如 一个8位二进制反码表示的数10010100B 它是一个负数 但它并不等于 20D 而应先将其数字位按位取反 然后才能得出此二进制数反码所表示的真值 1101011 1 26 1 25 1 23 1 21 1 64 32 8 3 107D 38 三 补码微机中都是采用补码表示法 因为用补码法以后 同一加法电路既可以用于有符号数相加 也可以用于无符号数相加 而且减法可用加法来代替 1 正数的补码正数的补码与其原码相同 即符号位用 0 表正 其余数字位表示数值本身 4 补 00000100 31 补 00011111 127 补 01111111 符号位 数值本身 2 负数的补码负数的补码表示为它的反码加1 即在其低位加1 4 补 11111100 31 补 11100001 127 补 10000001 符号位 数字位 39 8位二进制数补码表示也列入上表中 它有如下特点 1 0 补 0 补 00000000 2 8位二进制补码所能表示的数值为 127 128 3 当1个带符号数用8位二进制补码表示时 最高位为符号位 若符号位为 0 即正数 时 其余 位即为此数的数值本身 但当符号位为 1 即负数 时 一定要注意其余 位不是此数的数值 而必须将它们按位取反 且在最低位加1 才得到它的数值 例如 一个补码表示的数 补 10011011B它是一个负数 但它并不等于 27D 它的数值为 将数字位0011011按位取反得到1100100 然后再加1 即为1100101 1100101 1 26 1 25 1 22 1 20 64 32 4 1 101D 故 40 三 补码的加减法运算在微机中 凡是带符号数一律用补码表示 而且 运算的结果自然也是补码 补码的加减运算是带符号数加减法运算的一种 其运算特点是 符号位与数字位一起参加运算 并且自动获得结果 包括符号位与数字位 在进行加法时 按两数补码的和等于两数和的补码进行 因为 补 补 2n 2n 2n 而2n 补 mod2n 所以 补 补 补 41 例 已知 1000000 0001000 求两数的补码之和 由补码表示法有 补 01000000 补 00001000此和数为正 而正数的补码等于该数原码 即 补 原 01001000其真值为 72 又因 64 8 72 故结果是正确的 补码减法时 两数补码的差等于两数差的补码 即求被减数的补码和减数相反数的补码 再进行补码运算 则 补 01000000 64 补 00001000 8 补 补 01001000 72所以 补 01001000 mod28 42 四 溢出及其判断方法 一 什么叫溢出所谓溢出是指带符号数的补码运算溢出 例如 字长为 位的带符号数 用最高位表示符号 其余 1位用来表示数值 它能表示的补码运算的范围为 2n 1 2n 1 1 如果运算结果超出此范围 就叫补码溢出 简称溢出 在溢出时 将造成运算错误 二 判断溢出的方法判断溢出的方法较多 例如以上两例根据参加运算的两个数的符号及运算结果的符号可以判断溢出 此外 利用双进位的状态也是常用的一种判断方法 这种方法是利用符号位相加和数值部分的最高位相加的进位状态来判断 即利用判别式来判断 当D7C与D6C 异或 结果为1 即 1 表示有溢出 当 异或 结果为0 即 0 表示无溢出 43 三 溢出与进位进位是指运算结果的最高位向更高位的进位 如有进位 则 1 无进位 则 0 当 1 即D7C 1时 若D6C 1 则 D7CD6C 11 0 表示无溢出 若D6C 0 则 10 1 表示有溢出 当 0 即D7C 0时 若D6C 1 则 01 1 表示有溢出 若D6C 0 则 00 0 表示无溢出 可见 进位与溢出是两个不同性质的概念 不能混淆 对于字长为16位的二进制数用补码表示时 其范围为 216 1 216 1 1即 32768 32767 判断溢出的双进位式为 V D15cD14c 44 作业 书P 402 4 2 7 2 10 45 谢谢大家
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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