原码-反码-补码_第1页
原码-反码-补码_第2页
原码-反码-补码_第3页
原码-反码-补码_第4页
原码-反码-补码_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、1, 码制原码、反码与补码,第三讲 计算机中的数制和码制,2,一、机器数与真值(1),真值: 实际的数值(包括正负号)叫做真值。 如: +35,-1001110B,-100101B,3,一、机器数与真值(2),机器数: 机器数:数在计算机中的表示; 在计算机中,数只能用二进制表示,符号也用二进制数位表示; 是存放在寄存器或储存单元中的。 例如: 10000111,11001001,01100011,4,二、无符号数与有符号数,无符号数: 全部二进制均代表数值,没有符号位。 有符号数: 用最高位作为符号位,“0”代表“+”,“1”代表“-”;其余数位用作数值位,代表数值。 如: +35 化为有符

2、号机器数,+35,+100011B,0100011,转换为 二进制,化成有符号数,(00100011),(0000000000100011),8位,16位,5,三、有符号数的表示,原码 反码 补码,6,1、原码,真值用二进制表示后,数的数值部分不变,在符号位上用“0”和“1”分别表示数的符号“+”和“-”。 X的原码一般表示为 X原 如:,+1001001,-1100100,01001001,11100100,x,x原,7,2、反码,正数的反码:与原码相同; 负数的反码:符号位为“1”,数值位按位取反。 X的反码一般表示为 X反 如:,8,3、补码,引入补码的目的 引入的思路 补码的求法 补码

3、的作用与效果 几点说明 溢出,9,补码 引入补码的目的,将加、减运算简化为单纯的相加运算,以便于在计算机中实现各种运算。,10,补码 引入的思路(1),由钟表拨表针的方法得到启示; 例如:把表上的8点钟改为6点钟,方法二: 顺时针拨10格,方法一: 反时针拨2格,11,补码 引入的思路(2),拨针方法小结: 8 - 2 = 6 8 + 10 = 6 思考:为什么会出现这种现象?计算机中是否也有这种现象? (表盘是圆的,可循环计时。),12,补码 引入的思路(3),计算机储存一个数也有与钟表相同的特点:,循 环 计 数,因此对于计算机,要计算像 8-2 这样的减法式子,也可以化为加法形式来进行。

4、,思考: 在计算机中, 8-2是否也可以化为8+10? 如果不行,那么应化为什么样的式子?,13,补码 引入的思路(4),不同之处: 表计时的最大数是12 计算机计数的最大数不是12 (思考:那么是多少呢?) 我们把这个数称为 模 计算机的模与字长有关。8位机的模是28=256,14,补码 引入的思路(5),观察钟表拨针的两种方法: 8 - 2 = 6 8 + 10 = 6 我们可以看出,减去一个数 a 相当于加上(模-a)一样,而在计算机中也有相同情况。 在8位字长的计算机中,减去一个数a相当于加上(28-a)一样。 我们称(28-a)为a的补数,其二进制表示形式称为补码。,15,补码 补码

5、的求法(1),正数:与原码相同; 负数:“求反加一” 例: x=+1001100B,则x补=01001100B=x原 x=-1001100B,则x补=10110100B x=-1001100时, x补=28-1001100B =256 -1001100B =255 -1001100B +1 =11111111B -1001100B+1 = 10110100B,16,补码 补码的求法(2),对于负数的补码求法,还有另一个更快速的办法: 符号位为1,真值中最后一个1以前的各位按位求反,而最后一个1及其后的0保持不变。,17,补码 补码的求法(3),课堂练习 1、求出下列各数的补码(8位) (1)

6、67 (2) +1011001B (3) 45,10111101,01011001,11010011,18,补码 补码的作用与效果,用补码表示计算机中的数后,加减运算均可统一为加法。 例:,设 x=+0000111 , y=+0000100, 计算式子:xy (先算出x补=00000111, -y补=11111100 , xy=x+(-y) ),补码运算:,x-y补,手工验算:,19,补码 几点补充说明(1),微机内部,带符号数均用补码表示。 采用补码进行运算后,结果也是补码,欲得真值,需作转换。,20,补码 几点补充说明(2),如果已知x的补码x补,则求-x补的方法是: 对x补连同符号位一起

7、求反加1 例:,已知 +35的补码是00100011, 则 -35补=11011101,21,补码 几点补充说明(3),用补码运算时符号位也参与运算,有符号数与无符号数的运算是兼容的。 例:,二进制数相加,看成无符号数,看成补码,22,出现问题,错误的结果:,-0110101,-1101111,-53,-111,+92,+1011100,-164,思考:为什么出现了错误?,23,补码 溢出,刚才出现的问题叫做“溢出”; 溢出的原因:运算结果超出了可表示的有符号数的范围。 溢出只会出现在两个同号数相加或两个异号数相减的情况下。,思考:如何判别溢出与正常进位?,24,补码 溢出的判别(1),方法一:转换为真值,判断是否超出数值表示范围。 方法二:根据最高位的进、借位情况进行判断。 溢出:“有进无出”或“无进有出” 正常:“有进有出”或“无进无出”,25,补码 溢出的判别(2),图c 无进有出,图d 有进无出,溢出,溢出,图a 有进有出,图b 无进无出,正常,正常,26,补码 溢出的判别(3),课堂练习 1、请判断下列8位补码的运算是否会产生溢出?,11001001 11100111,10110000,有进有出,

温馨提示

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

评论

0/150

提交评论