128的二进制有原码反码和补码

128的二进制有原码反码和补码

ID:8971533

大小:42.50 KB

页数:4页

时间:2018-04-13

128的二进制有原码反码和补码_第1页
128的二进制有原码反码和补码_第2页
128的二进制有原码反码和补码_第3页
128的二进制有原码反码和补码_第4页
资源描述:

《128的二进制有原码反码和补码》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、第一次修订2009-5-614:11---------------------1.模的概念(我只讲个例子,具体的可以查数学中的"同余模")在日常生活中,有许多化减为加的例子。例如,时钟是逢12进位,12点也可看作0点。当将时针从10点调整到5点时有以下两种方法:1.将时针逆时针方向拨5格,相当于做减法:10-5=52.将时针顺时针方向拨7格,相当于做加法:10+(12-5)=12+5=5(模为12)2.模的运用(采用模得到补码)1.补码的得来:是为了让负数变成能够加的正数,so,负数的补码=模-负数的绝对值比如:-1补码:1111111

2、1(100000000-1得来)当一个数要减1的时候,可以直接加111111112.原码的得来:(负数的原码,直接把对应正数的最高位改为1)原码能够直观的表示一个负数(能直观的把真值显示出来,如-1为10000001其中最高位表示符号位,不进行算术计算)3.总结:补码相加,到第9位才舍弃(模100000000)原码相加,到第8位舍弃(模10000000)反码相加,到第8位舍弃(模10000000)3.原码和补码之间转换:1.补码=原码减1,再取反(便于理解)或补码=反码+1(便于描述和推理)2.演示:补码=原码减1,再取反如-1的原码1

3、0000001-->10000000(减1后)-->11111111(取反后)补码3.演示:补码=反码+1)如-1的原码10000001-->11111110(反码)-->11111111(加1)补码4.重点:(特别是在有进位的时候)原码和反码的最高位是符号位,不参加算术运算,模为10000000(比补码少一个0)而补码所有位都可以相加,模为100000000(最高位不是符号位,补码是通过模减去负数绝对值得到的)5.推断-128的原码和补码(用补码=反码+1)1.关于原码10000000,表示的是-0,还是-128呢?(答案是-128而

4、不是-0)1.先看看原码的概念吧:正数的符号位为0,负数的符号位为1,其它位按照一般的方法来表示数的绝对值2.0是负数吗?0既不是正数也不是负数,那么它的符号位到底是0还是1呢?(0的符号位为0,不能为1)3.看看负数补码的公式:负数的补码=100000000(模)-数的绝对值比如:-111111111=100000000-00000001-211111110=100000000-00000010现在假设-0为负数,那么-0的补码应该是100000000-0(这个0,姑且教0的绝对值吧)=00000000反码:11111111(0000

5、0000-1=00000000+11111111=11111111)原码:10000000现在来推-128-128的补码:100000000-10000000(+128没有符号位)=10000000反码:11111111(10000000-1=10000000+11111111=11111111)(补码-1)原码:10000000(反码取反)从上面看来,一个原码对应了2个补码但是仔细分析:原码的概念,负数的符号位为1,但是0不是负数,所以不能用此公式0也不是正数,但是可以把0定义为原码、反码和补码都一样(即00000000)而且据说可以

6、推断出0的补码只有一个(有兴趣的可以去推一下,呵呵)现在原码10000000就唯一表示-128了,而不会表示出-0,因为-0不能用这个公式计算现在,补码10000000的原码是10000000(已证明),那么原码10000000的补码是10000000吗?原码10000000(-128,进位被舍去)反码11111111补码10000000(11111111(反码)+1=10000000,这里实际上真正相加的是11111111后面的7位,第1位是符号位始终不会变,所以,当进到第8位的时候,就表示溢出了,会被舍弃)2.综上所述:1.-128

7、的补码和原码一样都是10000000,2.0的原码、反码和补码都一样(即00000000)3.如果把-0当做负数,10000000就会有歧义(事实上0的补码只有一个00000000)第一次的手稿2009-5-522:47-----------------1.使用反码的意义:1.使符号位能与有效值部分一起参加运算,从而简化运算规则。从而可以简化运算器的结构,提高运算速度;(减法运算可以用加法运算表示出来。)2.加法运算比减法运算更易于实现。使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计。2.负数的二进制数串表示一般用补码:(

8、如何通过原码推补码,特别是-128的解释)1.先给出3个原则:1.因为使用补码可以将符号位和其他位统一处理,同时,减法也可以按加法来处理,即如果是补码表示的数,不管是加减法都直接用加法运算即可实现。2.两个

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。