2014年c语言补码.pptVIP

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
原码与补码 一、机器数与真值(1) 真值: 实际的数值(包括正负号)叫做真值。 如: +35 一、机器数与真值(2) 机器数: 机器数:数在计算机中的表示; 在计算机中,数只能用二进制表示,符号也用二进制数位表示; 是存放在寄存器或储存单元中的。 例如: 11001001二、无符号数与有符号数 无符号数: 全部二进制均代表数值,没有符号位。 有符号数: 用最高位作为符号位,“0”代表“+”,“1”代表“-”;其余数位用作数值位,代表数值。 如: +35 化为有符号机器数 三、有符号数的表示 原码 补码 1、原码 真值用二进制表示后,数的数值部分不变,在符号位上用“0”和“1”分别表示数的符号“+”和“-”。 X的原码一般表示为 [X]原 如: 2、反码 正数的反码:与原码相同; 负数的反码:符号位为“1”,数值位按位取反。 X的反码一般表示为 [X]反 如: 3、补码 引入补码的目的 引入的思路 补码的求法 补码的作用与效果 几点说明 溢出 补码 ? 引入补码的目的 将加、减运算简化为单纯的相加运算,以便于在计算机中实现各种运算。 补码 ? 引入的思路(1) 由钟表拨表针的方法得到启示; 例如:把表上的8点钟改为6点钟 补码 ? 引入的思路(2) 拨针方法小结: 8 - 2 = 6 8 + 10 = 6 思考:为什么会出现这种现象?计算机中是否也有这种现象? (表盘是圆的,可循环计时。) 补码 ? 引入的思路(3) 计算机储存一个数也有与钟表相同的特点: 补码 ? 引入的思路(4) 不同之处: 表计时的最大数是12 计算机计数的最大数不是12 我们把这个数称为 模 计算机的模与字长有关。8位机的模是28=256 补码 ? 引入的思路(5) 观察钟表拨针的两种方法: 8 - 2 = 6 8 + 10 = 6 我们可以看出,减去一个数 a 相当于加上(模-a)一样,而在计算机中也有相同情况。 在8位字长的计算机中,减去一个数a相当于加上(28-a)一样。 我们称(28-a)为a的补数,其二进制表示形式称为补码。 补码 正数:与原码相同; 负数:求绝对值的二进制数-各位按位取反-末尾加1 例:+9 的补码表示方法 【+9】原码=【+9】补 【-9】补 -9绝对值的为: 按位取反: 末尾加1: -9的补码就是: 如果用两个字节表示数呢? 补码(16位表示一个数) 正数:与原码相同; 负数:求绝对值的二进制数-各位按位取反-末尾加1 例:+9 的补码表示方法 【+9】原码=0000000000001001 =【+9】补 【-9】补 -9绝对值的为: 00001001, 按位取反: 11110110 末尾加1: 11110111 -9的补码就是:11110111 补码 ?补码的求法(2) 对于负数的补码求法,还有另一个更快速的办法: 符号位为1,真值中最后一个1以前的各位按位求反,而最后一个1及其后的0保持不变。 补码 ?补码的求法(3) 课堂练习 1、求出下列各数的补码(8位) (1) – 67 (2) +1011001 (3) – 45 补码 ?补码的作用与效果 用补码表示计算机中的数后,加减运算均可统一为加法。 例: 补码 ?几点补充说明(1) 微机内部,带符号数均用补码表示。 采用补码进行运算后,结果也是补码,欲得真值,需作转换。 补码 ?几点补充说明(2) 如果已知x的补码[x]补,则求[-x]补的方法是: 对[x]补连同符号位一起求反加1 例: 补码 ?几点补充说明(3) 用补码运算时符号位也参与运算,有符号数与无符号数的运算是兼容的。 例: 出现问题 错误的结果: 补码 ? 溢出 刚才出现的问题叫做“溢出”; 溢出的原因:运算结果超出了可表示的有符号数的范围。 溢出只会出现在两个同号数相加或两个异号数相减的情况下。 补码 ? 溢出的判别(1) 方法一:转换为真值,判断是否超出数值表示范围。 方法二:根据最高位的进、借位情况进行判断。 溢出:“有进无出”或“无进有出” 正常:“有进有出”或“无进无出” 补码 ? 溢出的判别(2) 补码 ? 溢出的

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档