- 1、本文档共77页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
南开大学朱耀庭1.3.4数的补码表示反码表示与原码表示一样,除0以外,最高位为1表示负整数,最高位为0表示正整数。但在运算中符号位仍然影响运算结果,例如-1+2结果应该为1,而其反码运算结果为00000010=100000000,这时虽然最高位已经进入进位位,可以不考虑,但这种情况下仍然需要在末尾位加1进行校正。也就是说使用反码表示仍然不方便,所以现代计算机也多不采用这种表示法。第58页,共77页,星期日,2025年,2月5日南开大学朱耀庭1.3.4数的补码表示4.数的补码表示既然原码和反码表示都不方便计算,那有没有一种既保留原码与反码最高位为1表示负数,最高位为0表示正数的特点,在运算时又不需要单独考虑符号位的带符号整数的表示法呢?有,这就是现代计算机采用的补码表示法。设有一个N位的二进制数,补码表示法是:0和正整数的补码就是其本身;负整数的补码是其绝对值所对应的二进制数各位取反,然后末尾加1。字节补码的表示范围为-27~27-1,即-128~127。字的补码表示范围为-215~215-1,即-32768~32767。第59页,共77页,星期日,2025年,2月5日南开大学朱耀庭1.3.4数的补码表示图1-4从表盘看补码第60页,共77页,星期日,2025年,2月5日南开大学朱耀庭1.3.4数的补码表示现在我们来看日常生活中的一个例子。如图1-4(a)所示,一个手表,正确的时间是1点,而手表现在却指向2点,问有几种办法校正它?回答是两种,一种办法是将时针逆时针拨一小时,即2-1=1;另外一种办法是将时针顺时针拨11小时,即2+11=13丢12得1,如图1-4(b)所示。后一种方法是利用了表盘只有12种状态,超过12就丢掉了的特点,在数学上称作模12运算,即(2+11)mod12=1。计算机的字长与手表一样也是有限的,字长有限就会出现类似手表的情况。手表的12个状态0、1、2、…、11,如果用0~5表示正数0~5,6~11分别表示负数-6、-5、…、-1,这种表示法就是补码表示法。例如:-3+5=(-3)补码+5补码=(9+5)mod12=2第61页,共77页,星期日,2025年,2月5日南开大学朱耀庭1.3.4数的补码表示运算结果显然是正确的,理论上也完全可以证明:只要参加运算的数和结果都在字长的表示范围内,采用补码表示的整数加减运算的结果都是正确的。现在,将手表表盘改变一下,让它有256个状态,即0、1、2、…、255。于是就有0、1、2、…、127表示正数,128、129、…、254、255分别表示负数-128、-127、…、-2、-1。这就是字节的补码表示,在这种情况下模为256。如果写成二进制数很容易看出来,0和正数的补码就是它自己,最高位为0;负数的补码,是其反码末尾加1的结果,而且最高位为1。对字节而言,这种表示法用高于等无符号数表示负数,而用低无符号数表示正数,其数的表示范围为-27~(27-1)。当字长为N时,其数的表示范围为:-2N-1~(2N-1-1),而且仍然可用最高位为1还是为0区分负数和正数。采用补码表示不但保留了反码表示的特点,而且便于运算。它可以实现用加法代替减法。第62页,共77页,星期日,2025年,2月5日南开大学朱耀庭1.3.4数的补码表示例如,8-7=1可化为8+(-7)=1。方法是:[8]补+[-7]补=11111001)mod28=100000001mod28所谓mod28是以28为模留余,这在硬件上是极易实现的,只要舍去进位就可以了。由此可知补码表示法有极大的优越性。因此字节负数的补码也可以用模256求得,例如-24的补码=256-24=232。可见24补上232就是模256,这也就是补码命名的来历。第63页,共77页,星期日,2025年,2月5日南开大学朱耀庭1.3.4数的补码表示补码表示法既保留了原码、反码表示的最高位表示符号位的特点,又充分发挥了字长有限的长处,利用模运算使得加减法可以用加法代替。数字运算的实质是加减乘除运算。乘法可以用加法代替,除法可以用减法代替,因此加减乘除可以归结为加减运算,所以计算机的核心运算是加减运算。补码的引入,使得减法可以用加法代替,因此就这一意义而言,可以说加减乘除可以用加法代替,计算机的核心就是加法器。第64页,共77页,星期日,2025年,2月5日南开大学朱耀庭1.3.5二进制编码的十进制数BCD码
(Binary
文档评论(0)